我刚在android中使用webview
客户端创建了一个自定义webview
。应用程序在UI中没有输出,只有logcat
中的这些错误:
W/art: Attempt to remove non-JNI local reference, dumping thread
W/AwContents: onDetachedFromWindow called when already detached. Ignoring
W/OpenGLRenderer: Fail to change FontRenderer cache size, it already initialized
W/cr.BindingManager: Cannot call determinedVisibility() - never saw a connection for the pid: 19877
这是我尝试设置自定义webview
的代码:
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setDisplayZoomControls(false);
webView.setWebChromeClient(new WebChromeClient(){});
webView.setWebViewClient(new WebViewClient(){});
webView.clearCache(true);
webView.clearHistory();
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.loadUrl(url);
答案 0 :(得分:1)
由于ChromeTabs不是您正在寻找的解决方案。请在下面找到我用于渲染WebView的代码,并添加我面临的原因是它是shouldOverrideUrlLoading
处理的https网址。我会强烈建议你对此进行POC。
webview.setWebViewClient(new WebViewClient() {
//If you will not use this method url links are opeen in new brower not in webview
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
//Show loader on url load
public void onPageFinished(WebView view, String url) {
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
}
});
// Javascript inabled on webviewwebview.getSettings().setJavaScriptEnabled(true);
webview.getSettings().setAppCacheEnabled(true);
webview.getSettings().setCacheMode(MODE_PRIVATE);
//Load url in webview
webview.loadUrl(url);