2017-03-17 17 views
1

私はウェブサイトをホストするアンドロイドアプリを作成します。ウェブサイトにはいくつかの外部リンク「URL」がロードされています。ウェブビューにURLの一部がロードされないようにする

のファイルに保存されているURLの一部をwebviewで読み込むのをブロックするには、が必要です。

私はオーバーライドしようとしますshouldInterceptRequest(WebView view, String url)しかし、私はそれをどのように使用するのか分かりません。

+0

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 
可能な重複(http://stackoverflow.com/questions/10121089/block-certain-urls-for-security -in-android-webview) – Massimo

答えて

4

あなたは、新しいURLは現在WebView.If WebViewClientにロードされようとしているとき、ホストアプリケーションに制御を引き継ぐためにチャンスを与えるWebViewClient

shouldOverrideUrlLoading

メソッドを使用することができます戻り値trueは、ホストアプリケーションがURLを処理することを意味し、戻り値はfalseは、現在のWebViewがURLを処理することを意味します。コード内

:[アンドロイドのWebViewのセキュリティのためのブロック特定のURL]の

0

オーバーライドするものではなく、WebViewClientshouldOverrideUrlLoadinghereを参照)のメソッドをオーバーライドする必要があります。ページをロードする場合は、falseを返してください。 trueロードをブロックする場合。

+0

良いですがこの場合、ファイル内のサイトのリストをブロックする方法 –

+0

ロジックを実装する必要があります。 Listの内部にリストをロードし、shouldOverrideUrlLoadingでそのリストをチェックする – Massimo

関連する問題