Clicking URLs opens default browser

前端 未结 6 501
独厮守ぢ
独厮守ぢ 2020-11-22 13:09

I have loaded an external URL in my WebView. Now what I need is that when the user clicks on the links on the page loaded, it has to work like a normal browser

6条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-22 13:39

    The method boolean shouldOverrideUrlLoading(WebView view, String url) was deprecated in API 24. If you are supporting new devices you should use boolean shouldOverrideUrlLoading (WebView view, WebResourceRequest request).

    You can use both by doing something like this:

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        newsItem.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                view.loadUrl(request.getUrl().toString());
                return true;
            }
        });
    } else {
        newsItem.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
    }
    

提交回复
热议问题