0

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

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


更新:

一位评论者要求我粘贴一个触发该行为的示例 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 访问站点还是查看站点本身,都会发生这种情况。

4

2 回答 2

2

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

<meta name="format-detection" content="address=no">
于 2012-04-25T20:58:34.027 回答
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 ;
    }
});
于 2012-04-25T11:56:18.760 回答