Возможно ли вызывать функцию, которая находится в html файле, который загружен в WebView и записать результат выполнения этой функции в java переменную?
Ответ
Попробуйте так:
Напишите такой кастомный клиент:
final class MyWebChromeClient extends WebChromeClient {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
Log.d("LogTag", message);
result.confirm();
return true;
}
}
Прикрепите его к своему WebView:
mWebView.setWebViewClient(new HelloWebViewClient());
Теперь грузите скрипт в WebView:
webView.loadUrl("javascript:alert(functionThatReturnsSomething)");
Получите результат в onJsAlert message.
На практике не пробовал, но выглядит убедительно. Отпишитесь, получится ли.
Комментариев нет:
Отправить комментарий