【问题标题】:How to handle geo: links in webview如何处理地理:webview 中的链接
【发布时间】:2011-09-10 14:50:50
【问题描述】:

当在浏览器中点击一个地址时,它将打开该地址的地图视图。

如何设置 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;
        }
    }

【问题讨论】:

标签: android webview android-webview


【解决方案1】:

我遇到了同样的问题。我通过查看这个问题将其拼凑起来:

Question on geo:

要添加到您的代码如下...顺便说一句,您帮我解决了 tel: 问题!谢谢!

else if (url.startsWith("geo:")) {
        Intent searchAddress = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 
        startActivity(searchAddress); 
}

【讨论】:

  • 您好,我尝试按照此处的建议处理我的 web 视图中的 geo: 链接。但我收到一个错误:android.content.ActivityNotFoundException:没有找到处理 Intent 的活动。这个应该怎么解决?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-26
  • 2011-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-25
相关资源
最近更新 更多