我有一个加载了网站的webview。当我点击链接说“完整网站”时,我想启动手机的默认浏览器,我该如何实现?目前,它也会在Web视图中加载整个站点。谢谢!
答案 0 :(得分:2)
您需要将WebViewClient
附加到WebView
对象:
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new MyWebViewClient());
........
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals("www.mysite.com")) {
//Load the site into the default browser
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
// Load url into the webview
return false;
}
}
只需调整所需的if-statement
答案 1 :(得分:1)
参考WebViewClient。基本上,你必须
webview
客户端shouldOverrideUrlLoading
。放置何时在浏览器中打开链接的逻辑,何时不打开。将自定义网络视图客户端设置为默认的webview
客户端。
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());