1

I want to make my web view to open target="_blank" links in an external browser instead of in webView. i tried the following code but didnt work.

        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. - I'm new so dont go advanced on me

notnavindu
  • 487
  • 1
  • 6
  • 18

1 Answers1

1

We use intent for this. And remember you always have to parse the string url . Here is a snippet.

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;
        }
    }
});

If you want to learn more here is an in depth explanation WebView link click open default browser

Community
  • 1
  • 1
Gaurav Sarma
  • 2,248
  • 2
  • 24
  • 45