现在,我有一个加载Web视图的应用程序,所有点击都保留在该应用程序中。 我想做的是,在应用程序中单击某个链接(例如http://www.google.com)时,它将打开默认浏览器。 如果有人有任何想法,请告诉我!
我今天必须做同样的事情,我在StackOverflow上找到了一个非常有用的答案,我想在这里分享,以防其他人需要它。
来源(来自sven)
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url != null && (url.startsWith("http://") || url.startsWith("https://"))) {
view.getContext().startActivity(
new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
return true;
} else {
return false;
}
}
});
这个答案对我很有帮助!谢谢!
请注意,如果该网址是相对网址(不以" http://"开头),则它将在应用内打开。为避免这种情况,请始终返回true并使相对的URL链接不起作用。
您应该检查前缀中的其他协议,例如rtsp,https等。如果链接旨在打开媒体,则

这篇博客讨论了如何配置Android WebView以便在点击内部链接时打开默认浏览器而不是在应用内加载。通过覆盖`shouldOverrideUrlLoading`方法,并检查URL是否以'http://'或'https://'开头,可以实现这一目标。当URL满足条件时,启动一个新Intent来打开外部浏览器。这种方法有助于提高用户体验,确保外部链接在正确的环境中打开。
最低0.47元/天 解锁文章

667

被折叠的 条评论
为什么被折叠?



