Android Webview shouldOverrideUrlLoading method

2019-02-16 07:40发布

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

2条回答
smile是对你的礼貌
2楼-- · 2019-02-16 08:07

Below is the answer for your both the questions:

As per the document, it will manage every time new URL is about to load in current WebView.

查看更多
萌系小妹纸
3楼-- · 2019-02-16 08:17
  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)

查看更多
登录 后发表回答