2011-07-05 12 views
2

私はそこにロードされたウェブサイトを持つwebviewを持っています。 「フルサイト」というリンクをクリックすると、電話機のデフォルトブラウザを起動したいのですが、これをどのように達成できますか?現在、Webビューでフルサイトも読み込まれます。ありがとう!あなたのWebViewオブジェクトにWebViewClientを添付する必要がデフォルトのブラウザへの直接リンク

答えて

2

WebView myWebView = (WebView) findViewById(R.id.webview); 
myWebView.setWebViewClient(new MyWebViewClient()); 
........ 

private class MyWebViewClient extends WebViewClient { 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     if (Uri.parse(url).getHost().equals("www.mysite.com")) { 
      //Load the site into the default browser 
      Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
      startActivity(intent); 
      return true; 
     } 
     // Load url into the webview 
     return false; 
    } 
} 

ちょうどあなたの必要

1

ためif-statementを調整するには、WebViewClientを参照してください。基本的に、あなたはあなた自身のwebviewクライアント

  • オーバーライドshouldOverrideUrlLoadingを作成

    1. する必要があります。ブラウザにリンクを開くタイミングとそうでないタイミングをロジックに置きます。
    2. デフォルトのwebviewクライアントとしてカスタムWebviewクライアントを設定します。

      WebView myWebView = (WebView) findViewById(R.id.webview); myWebView.setWebViewClient(new WebViewClient());

  • 関連する問題