我寫了一段Java代碼,旨在通過android WebView網關從Javascript調用Java代碼。從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();
}
}
上面的代碼檢查網頁加載,一旦在頁面加載完成後,它會調用它從Java暴露,以便它可以攜帶什麼我從網頁需要JavaScript函數。
這不像預期的那樣工作,它只是每隔幾秒刷新頁面。我不確定這裏有什麼問題?
請問您能否寄給我最新的代碼。在此先感謝 – 2017-02-22 04:14:10