如何处理 web 视图中的 geo: 链接
当点击浏览器中的地址时,它将打开该地址的地图视图。
如何设置 shouldOverrideUrlLoading 来处理 WebView 中的这些链接?我已经设置了“tel:”和“mailto:”链接的处理,但无法弄清楚如何处理“geo:”链接。
我的 shouldOverrideUrlLoading:
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("tel:")) {
startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
return true;
} else if (url.startsWith("mailto:")) {
url = url.replaceFirst("mailto:", "");
url = url.trim();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("plain/text").putExtra(Intent.EXTRA_EMAIL, new String[]{url});
startActivity(i);
return true;
} else if (url.startsWith("geo:")) {
return true;
} else {
view.loadUrl(url);
return true;
}
}
When clinking on an address in the browser, it will open a map view for the address.
How do I set shouldOverrideUrlLoading to handle these links in a WebView? I have setup handling of "tel:" and "mailto:" links, but can't figure out how to handle "geo:" links.
My shouldOverrideUrlLoading:
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("tel:")) {
startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
return true;
} else if (url.startsWith("mailto:")) {
url = url.replaceFirst("mailto:", "");
url = url.trim();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("plain/text").putExtra(Intent.EXTRA_EMAIL, new String[]{url});
startActivity(i);
return true;
} else if (url.startsWith("geo:")) {
return true;
} else {
view.loadUrl(url);
return true;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我也遇到了同样的问题。我通过查看这个问题将其拼凑在一起:
关于地理的问题:
要添加到您的代码如下...顺便说一句,您帮助我解决了电话:问题!谢谢!
I was having the same problem. I pieced it together by looking at this question:
Question on geo:
the code to add to yours is below... btw, you helped me solve the tel: issue! thx!