2016-08-22 223 views
1

我想让我的web视图在外部浏览器中而不是在webView中打开target =“_ blank”链接。我试了下面的代码,但没有工作。WebView在浏览器中打开target_blank

 webview.getSettings().setJavaScriptEnabled(true); 
    webview.getSettings().setSupportMultipleWindows(true); 

    webview.setWebChromeClient(new WebChromeClient() { 
     @Override 
     public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, android.os.Message resultMsg) { 
      WebView.HitTestResult result = view.getHitTestResult(); 
      String data = result.getExtra(); 
      Context context = view.getContext(); 
      Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(data)); 
      context.startActivity(browserIntent); 
      return false; 
     } 
    }); 
    webview.loadUrl("http://reliantfever735.comli.com/cricket.html"); 



} 

p.s. - 我是新的所以不要先进我

回答

1

我们使用这个意图。并且记住你总是必须解析字符串url。这是一个片段。

webView.setWebViewClient(new WebViewClient(){ 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if (url != null && url.startsWith("http://")) { 
     view.getContext().startActivity(
      new Intent(Intent.ACTION_VIEW, Uri.parse(url))); 
      return true; 
     } else { 
      return false; 
     } 
    } 
}); 

如果您想了解更多这里是一个深入的解释 WebView link click open default browser

+0

使用setSupportMultipleWindows(真);没有为我工作。我不得不删除它。 –