我使用WebChromeClient加载网页。它适用于某些网址,但对于其他网址,Android菜单会显示“带有...的完整操作”,我必须在上下文导航器,Chrome或默认导航器之间进行选择。
我想在内部(在我的应用中)加载每个网址。 这是代码:
mWebView = (WebView) view.findViewById(R.id.webViewArticle);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setSupportZoom(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.getSettings().setSupportMultipleWindows(true);
mWebView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
if(progress < 100 && progressB.getVisibility() == ProgressBar.GONE){
progressB.setVisibility(ProgressBar.VISIBLE);
}
progressB.setProgress(progress);
if(progress == 100) {
progressB.setVisibility(ProgressBar.GONE);
}
}
});
mWebView.loadUrl(mUrl);
答案 0 :(得分:1)
不确定WebChromeClient,一个替代方案是:
mWebView.setWebViewClient
从WebChromeCLient
更改为WebViewClient
,然后覆盖shouldOverrideUrlLoading
@Override
public boolean shouldOverrideUrlLoading (WebView view, String url) {
view.loadUrl(url);
return false;
}
如果您需要WebChromeClient
完成加载,可以试试这个:
webView.setWebChromeClient(new YourWebChromeClient());
webView.setWebViewClient(new YourWebViewClient());