profile image

L o a d i n g . . .

반응형

안드로이드 webView javaScript value 값 입력

Android WebView javaScript Value

 

안드로이드에는 webView가 있으며 웹뷰는 어느 정도 컨트롤이 가능하다.

하지만 네이티브 영역이 아니기에 웹 영역에 버튼이나 텍스트를 입력할 수 없다.

이를 해결할 수 있는 방법으로 javaScript를 이용할 수 있다. value값 입력 및 button 클릭 동작을 할 수 있다. 

 

@Override
public void onPageFinished(WebView view, final String url) {
    super.onPageFinished(view, url);
    String script = "javascript:document.getElementById('id').value='valueHere';";
    view.evaluateJavascript(script, new ValueCallback<String>() {
        @Override
        public void onReceiveValue(String value) {
        }
    });
    view.loadUrl("javascript:doLogin()");
}

만약 웹뷰의 필요한 영역의 id가 없으면 사용을 못하지만, 어지간하면 없을 수 없다.

 

javascript:document.getElementById('id').value='valueHere';

value값 입력의 경우 위 스크립트를 사용하며 "id"란에 해당 id값을 넣고 value에 입력할 값을 넣으면 된다.

 

javascript:doLogin()"

버튼의 클릭 동작의 경우 버튼을 누를 경우 실행되는 스크립트이름을 실행하면 된다

 

webView가 다 그려진 후 동작하는게 맞다고 생각하며 onPageFinished에서 실행하였으며,  onPageFinished에서 잘 동작하는 것을 확인하였기 때문에 다른 위치에서는 테스트해보지 않았다.

반응형
복사했습니다!