2016-10-24 22 views
0

私はカスタムwebviewクライアントでwebviewを持っています。時々私はリンクの形でのWebViewからカスタムイベントに関する情報を取得していますAndroid webview - URLをスキップするにはどうすればよいですか?

@Override 
public WebResourceResponse shouldInterceptRequest(WebView view, String url) { 
    // ... 
} 

:私は要求を傍受してい

XYZ://行う-何かを

それが起こると、webviewはそれを無視します。しかし、 'shouldInterceptRequest'は何かを返さなければならず、私のページの代わりに 'null'を返すときは 'unknown url xyz:// do-something'と表示されます。どうすればそれに対処できますか?どうすればリンクを傍受できますか?webview側ではアクションを無効にできますか?

答えて

0

現在のサイトと移動先のサイトとの文字列比較が必要です。私は '公共のブールshouldOverrideUrlLoading(WebViewの表示、文字列のURL)' を使用することはできません

public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (Uri.parse(url).getHost().equals("www.example.com")) { 
      // This is my web site, so do not override; let my WebView load the page 
      return false; 
     } 
     // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs 
     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
     startActivity(intent); 
     return true; 
    } 
+0

、それは公共のWebResourceResponse shouldInterceptRequest(WebViewの表示、文字列のURL) "である必要があります。 – user5981074

関連する問題