Javascript에서 Java 코드를 호출하기위한 Java 코드를 Android WebView 게이트웨이에서 작성했습니다.Javascript에서 Android WebView로 데이터 전달
webView = (WebView) findViewById(R.id.captchaView);
WebSettings ws = webView.getSettings();
ws.setJavaScriptEnabled(true);
webView.loadUrl("https://google.com/");
webView.setWebViewClient(BrowserHandler);
webView.addJavascriptInterface(new IJavascriptHandler(), "cpjs");
WebViewClient BrowserHandler = new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:window.cpjs.onPageLoaded(document.body.innerHTML);void(0);");
}
};
final class IJavascriptHandler {
IJavascriptHandler() {
}
public void onPageLoaded(String html) {
// this is called from JS
Toast t = Toast.makeText(getApplicationContext(), "Yes", 2000);
t.show();
}
}
웹 페이지로드 및 페이지로드가 완료되면, 그것은 내가 페이지에서 필요한 것을 수행 할 수 있도록 자바에서 노출되는 자바 스크립트 함수를 호출 위의 코드를 확인합니다.
예상대로 작동하지 않습니다. 단순히 몇 초마다 페이지를 새로 고치는 것입니다. 내가 뭘 잘못했는지 모르겠다.
업데이트 된 코드를 보내주십시오. 미리 감사드립니다 –