Решение должно работать над API> 20 < /li>
Это решение не работает. Я предполагаю, что это работает только на нижних версиях API Android. Я тестирую на Android 8.0. < /li>
Я попытался использовать модернизацию, как только страница загружена, вместо получения HTML через WebViewClient. Но пользователь не вошел в систему в запросе модернизации. И тогда я делаю то же самое 2 раза. < /P>
override fun onPageFinished(view: WebView?, url: String?) {
// super.onPageFinished(view, url)
//tried adding a sleep, but doesn't work:
Thread.sleep(6000)
//showHTML method is not being called:
binding.webView.loadUrl("javascript:window.HtmlViewer.showHTML" +
"(''+document.getElementsByTagName('html')[0].innerHTML+'');")
// Prints out: html: null
binding.webView.evaluateJavascript(
"javascript:window.HtmlViewer.showHTML" +
"(''+document.getElementsByTagName('html')[0].innerHTML+'');"
) { html ->
Log.d("HTML", html)
// code here
}
}
}
}
class MyJavaScriptInterface(val context: Context) {
[list] [*] Решение должно работать над API> 20 < /li> Это решение не работает. Я предполагаю, что это работает только на нижних версиях API Android. Я тестирую на Android 8.0. < /li> Я попытался использовать модернизацию, как только страница загружена, вместо получения HTML через WebViewClient. Но пользователь не вошел в систему в запросе модернизации. И тогда я делаю то же самое 2 раза. < /P>
override fun onPageFinished(view: WebView?, url: String?) { // super.onPageFinished(view, url)
//tried adding a sleep, but doesn't work: Thread.sleep(6000)
//showHTML method is not being called: binding.webView.loadUrl("javascript:window.HtmlViewer.showHTML" + "(''+document.getElementsByTagName('html')[0].innerHTML+'');")
// Prints out: html: null binding.webView.evaluateJavascript( "javascript:window.HtmlViewer.showHTML" + "(''+document.getElementsByTagName('html')[0].innerHTML+'');" ) { html -> Log.d("HTML", html) // code here } } } }
class MyJavaScriptInterface(val context: Context) {