WebView链接点击打开默认浏览器
现在我有一个加载网络视图的应用程序,并且所有点击都保存在应用程序内。我想做的是当某个链接(例如 http://www.google.com)在应用程序中单击它会打开默认浏览器。如果有人有任何想法,请告诉我!
Right now I have an app that loads a webview and all the clicks are kept within the app. What I would like to do is when a certain link, for example, http://www.google.com is clicked within the app it opens the default browser. If anyone has some ideas please let me know!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
我今天必须做同样的事情,并且我在 StackOverflow 上找到了一个非常有用的答案,我想在这里分享,以防其他人需要它。
来源(来自sven)
I had to do the same thing today and I have found a very useful answer on StackOverflow that I want to share here in case someone else needs it.
Source (from sven)
您不必包含此代码。
而是使用下面的代码。
You don't have to include this code.
Instead use below code.
您只需要添加以下行
即可查看this以获取官方文档。
You only need to add the following line
Check this for official documentation.
你可以使用 Intent 来实现这一点:
you can use Intent for this:
您可以为此使用 Intent:
You can use an Intent for this:
由于这是有关 WebView 中外部重定向的首要问题之一,因此这里有一个 Kotlin 上的“现代”解决方案:
As this is one of the top questions about external redirect in WebView, here is a "modern" solution on Kotlin:
现在,
public boolean shouldOverrideUrlLoading(WebView view, String url)
已被弃用,并使用public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request)
,您可以在Java:只需将 http://www.google.com/ 替换为您要在网络中打开的网址浏览器而不是网页视图。
Now that
public boolean shouldOverrideUrlLoading(WebView view, String url)
is deprecated andpublic boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request)
is used instead, you can use the following code in Java:Just replace http://www.google.com/ with the URL you want to open in web browser instead of webview.