0

I use WebChromeClient for loading a webpage. It works fine for some url but for some others url, an Android menu is displayed "Complete action with..." and i must to choose between contextual navigator, Chrome or default navigator.

I would like to load in internal (in my app) each of url. Here is the code :

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); 
wawanopoulos
  • 9,614
  • 31
  • 111
  • 166

1 Answers1

1

Not sure about WebChromeClient, one alternative is:

mWebView.setWebViewClient

Change from a WebChromeCLient to a WebViewClient then override shouldOverrideUrlLoading

http://developer.android.com/reference/android/webkit/WebViewClient.html#shouldOverrideUrlLoading(android.webkit.WebView, java.lang.String)

@Override
public boolean shouldOverrideUrlLoading (WebView view, String url) {   
 view.loadUrl(url);
 return false;
}

If you need loading done by the WebChromeClient you could try this:

webView.setWebChromeClient(new YourWebChromeClient()); 
webView.setWebViewClient(new YourWebViewClient()); 
Blundell
  • 75,855
  • 30
  • 208
  • 233