Android Webview shouldOverrideUrlLoading method

JR Galia picture JR Galia · May 21, 2013 · Viewed 28.5k times · Source

When is shouldOverrideUrlLoading method called?

webView.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {


    }
});
  1. Is it called during initial loading of url? e.g. webView.loadUrl( "file:///android_asset/html/index.html");
  2. Is it called everytime URL of webview changes?

Any reference? I didn't find one. Thanks

Answer

Pankaj Kumar picture Pankaj Kumar · May 21, 2013
  1. It does however, get called when the WebView to load a different URL from the one the user had requested.

  2. Calling loadUrl() will also trigger the shouldOverrideUrlLoading() method. (Only when a new url is about to be loaded.)

Give the host application a chance to take over the control when a new url is about to be loaded in the current WebView. If WebViewClient is not provided, by default WebView will ask Activity Manager to choose the proper handler for the url. If WebViewClient is provided, return true means the host application handles the url, while return false means the current WebView handles the url.

Ref : public boolean shouldOverrideUrlLoading (WebView view, String url)