Я написал фрагмент кода Java, который предназначен для вызова кода Java из Javascript с помощью шлюза 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();
}
}
Вышеуказанные проверки кода для веб-загрузки страницы и как только страница загрузилась, он будет вызывать функцию яваскрипта, который подвергается воздействию от Java, так что может нести то, что мне нужно от страницы.
Это не работает так, как ожидалось, то, что он делает, просто обновляет страницу каждые несколько секунд. Я не уверен, что здесь не так?
не присылайте мне обновленный код. заранее спасибо –