Android webview:控制在重定向时使用哪个浏览器

时间:2015-05-16 13:18:53

标签: android browser webview

所以我想在我的网页浏览中使用window.location时,页面显示在同一页面上,并且不会使用默认浏览器打开新窗口,所以我添加了以下代码:

     view.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return false;
        }
    });

问题是现在我使用的每个链接都在同一个窗口中打开。如果我想使用window.open(url)并且希望使用默认浏览器打开它,我该怎么办?

1 个答案:

答案 0 :(得分:0)

以下是解决方案:

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

长话短说明你覆盖了方法,但检查网址是否是本地的(如果不是本地的,它应该以“http://”开头)。当然你可以根据需要自定义它。