每次尝试在Webview中显示页面时,都不会发生任何事情,只有在Android 4.1-4.3(Jelly Bean)上会发生。对于Android 4.4和更高版本,它可以工作。
仅该页面无效,其他页面(例如https://www.google.com)正常工作。
我使用此代码来设置Webview。我同时使用两个客户端(WebChromeClient和WebViewClient),并覆盖了所有方法,以查看发生了什么。
webView.setFocusable(true);
webView.setFocusableInTouchMode(true);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setRenderPriority(WebSettings.RenderPriority.HIGH);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setDatabaseEnabled(true);
webView.getSettings().setAppCacheEnabled(true);
webView.setWebChromeClient(new MyWebChromeClient());
webView.setWebViewClient(new WebViewClient());
我也尝试过这个建议,但是什么也没显示。 https://developer.android.com/guide/webapps/debugging
myWebView.setWebChromeClient(new WebChromeClient() {
public boolean onConsoleMessage(ConsoleMessage cm) {
Log.d("MyApplication", cm.message() + " -- From line "
+ cm.lineNumber() + " of "
+ cm.sourceId() );
return true;
}
});
这似乎不是证书或TLS的问题,因为我可以看到例如本网站的联系方式部分。看来JavaScript无法正常运作,但我找不到原因。我还有其他办法可以追踪问题根源吗?
答案 0 :(得分:0)
android Jellybean不支持TLS 1.2(在> 4.4 android版本上启用TLS 1.2)。如果要支持4.1-4.3,则可以从Firefox或ChromeTabs使用GeckoView(因为默认情况下,它们的Web引擎支持TLS 1.0、1.1、1.2)