2016-06-22 13 views
0

ウェブサイトをAndroid webViewに表示しています。そこで、デフォルトのブラウザではなくwebView内でリンクを開くようにオーバーライドを書きました。私の問題は、自分のサイトに、デフォルトのブラウザで開くだけの、いくつかの特定のリンクがあることです。オーバーライド内でオーバーライドを作成するにはどうすればよいですか?私が使用しているコードは動作するはずだったが、それはしていない。webViewの代わりにAndroidブラウザで特定のリンクを開く方法は?

public class MyAppWebViewClient extends WebViewClient { 
@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if (Uri.parse(url).getHost().equals("something.com")) { 
     return false; 
    } 

    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
    view.getContext().startActivity(intent); 
    return true; 
} 

答えて

0

解決策が見つかりました。私はちょうどこのコードを使用しました:

myWebView.setWebViewClient(new WebViewClient(){ 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 

      String url2="http://www.example.com/"; 
      // all links with in your site will be open inside the webview 
      //links that start your domain, for example (http://www.example.com/) 
      if (url != null && url.startsWith(url2)){ 
       return false; 
      } 
      // all links that points outside the site will be open in a normal android browser 
      else { 
       view.getContext().startActivity(
         new Intent(Intent.ACTION_VIEW, Uri.parse(url))); 
       return true; 
      } 
     } 
    }); 
関連する問題