如何在Android浏览器中打开特定链接而不是webView?

时间:2016-06-22 14:55:50

标签: java android android-studio android-webview

我正在将一个网站展示到Android webView中。所以,我编写了一个覆盖来使链接在webView内部而不是默认浏览器中打开。我的问题是我的网站中有一些特定的链接,我想在默认浏览器中打开这些链接。如何在覆盖内创建覆盖?我使用的代码应该可以工作,但它没有。

public class MyAppWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if (Uri.parse(url).getHost().equals("something.com")) {
        return false;
    }

    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    view.getContext().startActivity(intent);
    return true;
}

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我刚刚使用了这段代码:

myWebView.setWebViewClient(new WebViewClient(){
        public boolean shouldOverrideUrlLoading(WebView view, String url) {

            String url2="http://www.example.com/";
            // all links  with in your site will be open inside the webview
            //links that start your domain, for example (http://www.example.com/)
            if (url != null && url.startsWith(url2)){
                return false;
            }
            // all links that points outside the site will be open in a normal android browser
            else  {
                view.getContext().startActivity(
                        new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                return true;
            }
        }
    });