从webview打开一个新的浏览器

时间:2015-06-29 21:19:57

标签: android browser webview

我用webview创建了一个Android应用程序。

在网页中我有亚马逊横幅。

如果用户点击该横幅,我希望它在原生Android浏览器中打开,而不是在webview中打开。

我在搜索和尝试后尝试了几种方法但都没有成功。 单击横幅时 - 应用程序仍以webview模式显示亚马逊网站。

任何人都可以帮我解决这个问题吗?

非常感谢您的帮助......

以下是我使用的代码:

final WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
   @Override public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
      if(url.contains("amazon-adsystem.com")) {
           Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
           startActivity(i);
      }
      view.loadUrl(url);
      loadAd();
      return true;
   }
});

webView.loadUrl("http://starter_url");

loadAd();

1 个答案:

答案 0 :(得分:0)

函数 shouldOverrideUrlLoading()应该:

  

如果主机应用程序想要保留当前值,则返回True   WebView并处理url本身,否则返回false。

因此,您必须将代码更改为:

webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
        if(url.contains("amazon-adsystem.com")) {
            Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            startActivity(i);
            return true;
        }
        return false;
    }
});