2016-08-22 5 views
1

Я хочу сделать свой веб-просмотр, чтобы открыть ссылки target = "_ blank" во внешнем браузере, а не в webView. Я попробовал следующий код, но не работал.WebView open 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 (истина); не работал для меня. Мне пришлось удалить его. –

Смежные вопросы