所以我想在我的网页浏览中使用window.location
时,页面显示在同一页面上,并且不会使用默认浏览器打开新窗口,所以我添加了以下代码:
view.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
});
问题是现在我使用的每个链接都在同一个窗口中打开。如果我想使用window.open(url)
并且希望使用默认浏览器打开它,我该怎么办?
答案 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://”开头)。当然你可以根据需要自定义它。