【发布时间】:2011-05-19 07:22:43
【问题描述】:
我正在尝试让我的 android webview 应用程序打开 tel: 到手机的链接。每次我打开电话链接时,它都会很好地打开电话。但是,一旦我完成通话并返回应用程序,它就会出现在一个页面上,上面写着“找不到网页,电话:0000000000”。然后我必须再次点击返回按钮才能进入我点击电话号码的页面。
有没有办法让它打开 TEL 链接,而无需尝试在 webview 中查找页面以及在手机上打开它?
这是我在 WebView 中用来覆盖其对 TEL 和 Mailto 链接的处理的代码:
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("mailto:") || url.startsWith("tel:")) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(url));
startActivity(intent);
}
view.loadUrl(url);
return true;
}
任何帮助将不胜感激。过去 2 小时我一直在寻找好东西,但没有给出任何答案。
【问题讨论】:
-
试试 ACTION_DIAL 的电话:链接?
-
等等,文档实际上说 ACTION_VIEW 没问题:developer.android.com/reference/android/content/Intent.html 没关系...
-
愚蠢的问题:您是否正确设置了
WebViewClient?其他一切正常吗? -
是的...除了 tel: 链接外,其他一切都正常运行。即使这些工作,只是当您不接电话并返回应用程序时,它位于显示未找到的页面上。
-
@EboMike:我认为您第一次是对的:developer.android.com/guide/appendix/g-app-intents.html -- 我不相信“请注意 VIEW 操作如何执行被认为对特定对象最合理的事情URI”文档中的注释。