8

I create a android app that host website, the website loads some external links "URL".

I need to block some URLs that store in file on /res/raw/ from loading in webview.

I try override shouldInterceptRequest(WebView view, String url), but I don't know how use it.

0

2 Answers 2

17

You can use shouldOverrideUrlLoading

method of the WebViewClient

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 provided, return true means the host application handles the url, while return false means the current WebView handles the url.

in code:

 public class MyWebViewClient extends WebViewClient { public boolean shouldOverrideUrlLoading (WebView view, String url) { if (Uri.parse(url).getHost().equals("http://Your_website_url")) { // This is my web site, so do not override; let my WebView load the page return false; } // reject anything other return true; } } mWebview.setWebViewClient(new MyWebViewClient()); //set the webviewClient 
Sign up to request clarification or add additional context in comments.

Comments

2

You have to override the method shouldOverrideUrlLoading (see here) of your WebViewClient, rather than the one you are overriding. Just return false if you want to load the page; true if you want to block loading.

2 Comments

good but in this case how can block a list of site's within the file
You have to implement the logic. Load the list inside of a List and then check that list in shouldOverrideUrlLoading

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.