在Android设备上,如何防止地址上的点击启动地图应用程序?

时间:2012-04-25 11:33:52

标签: android google-maps user-experience

我有一个显示WebView的应用程序,该应用程序显示的信息包括“123 Main St.,Citytown,NY”等街道地址。但是,当点击这些地址中的任何一个时,它会略微突出显示,并会触发启动Google地图应用的常见浏览器行为。

我想防止这种行为发生,因为某些地址并不是可以选择的。我有什么可以做的吗?


更新

评论者要求我粘贴一个触发行为的示例HTML代码段。

<hgroup class="unit list_item_body">
  <h2 class="thick truncated heading">
    <a href="/locations/1234">Foobar</a>
  </h2>
  <h3 class="truncated subheading">
    123 East Market St., Charlottesville, VA, 22902
  </h3>
</hgroup>

注意地址上没有链接。然而,点击地址会触发启动地图的行为。无论我是通过WebView访问网站还是查看网站本身,都会发生这种情况。

2 个答案:

答案 0 :(得分:2)

我想出来了。此元标记将阻止浏览器控件劫持地址字符串:

<meta name="format-detection" content="address=no">

答案 1 :(得分:0)

查看WebViewClient.shouldOverrideUrlLoading

webView.setWebViewClient(new WebViewClient() {
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        boolean shouldHandle = true;
        //Check if you want to override the loading of the URL and set shouldHandle accordingly
        return shouldHandle ;
    }
});