Android Webview,使网址在不同的浏览器中打开

CQM*_*CQM 7 android webview

当我点击我的应用程序中的链接时,它们会在同一个webview中打开.我希望它们在外部浏览器中打开.

我这样做了:

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

});
Run Code Online (Sandbox Code Playgroud)

返回false使其在同一webview中加载,返回"true"使得单击链接时不会发生任何事情.

我看了其他问题,但似乎其他人都有完全相反的问题.(他们希望在他们的应用中加载链接)

我究竟做错了什么?

Ree*_*eed 12

在你的 WebViewClient

@Override
public boolean shouldOverrideUrlLoading(final WebView view, final String url){
    if (loadUrlExternally){
        Uri uri = Uri.parse(url);
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        startActivity(intent);
        return true; //the webview will not load the URL
    } else {
        return false; //the webview will handle it
    }
}
Run Code Online (Sandbox Code Playgroud)

这样它就会像其他任何应用程序一样打开一个新的浏览器窗口.

  • 这样做,也必须将返回设置为"True",否则它将复制webview和浏览器中的加载. (2认同)