我可以在 Android 上通过 HTML 拨打电话吗?
Posted
技术标签:
【中文标题】我可以在 Android 上通过 HTML 拨打电话吗?【英文标题】:Can I make a phone call from HTML on Android? 【发布时间】:2010-05-05 14:45:10 【问题描述】:为了在 iPhone 上通过 html 拨打电话,我创建了一个 <A/>
标签,其 href 格式为:<a href='tel:123-555-1212'>Dial Me</a>
。
android 上是否有 HTML 的等价物?
澄清 - 使用格式 href='tele:123-555-1212' 确实适用于 android。我正在设备上的本机 Java 包装器中测试该应用程序。我们似乎无法从托管在 Native Wrapper 中的 Web 应用程序进行调用。
【问题讨论】:
【参考方案1】:是的,你可以;它也适用于Android:
电话:电话号码 调用输入的 电话号码。有效的电话号码 在 IETF RFC 3966 中定义的是 公认。有效的例子包括 以下:
* tel:2125551212 * tel: (212) 555 1212
Android 浏览器使用电话应用来处理 RFC 3966 定义的“tel”方案。 点击如下链接:
<a href="tel:2125551212">2125551212</a>
在 Android 上将调出电话应用程序并预先输入 2125551212 的数字,而无需自动拨号。
看看RFC3966
【讨论】:
当您单击链接时,iphone 会自动发起呼叫(自动拨号)?还是像安卓? (打开拨号器,需要按通话键)。 确保你有这个:我刚刚编写了一个可以从网页拨打电话的应用程序-我不知道这对您是否有用,但无论如何我包括:
在您的 onCreate 中,您需要使用 webview 并分配 WebViewClient,如下所示:
browser = (WebView) findViewById(R.id.webkit);
browser.setWebViewClient(new InternalWebViewClient());
然后像这样处理对电话号码的点击:
private class InternalWebViewClient extends WebViewClient
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
if (url.indexOf("tel:") > -1)
startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
return true;
else
return false;
如果您需要更多指点,请告诉我。
【讨论】:
谢谢 - 是的,这是一个好方法!我最终通过带有 addjavascriptInterface 的 JavaScript 添加了对我的应用程序的访问权限【参考方案3】:一般在 Android 上,如果你只是简单地显示电话号码,然后用户点击它,它就会在拨号器中将其拉起。所以,你可以简单地做
For more information, call us at <b>416-555-1234</b>
当用户点击粗体部分时,由于它的格式类似于电话号码,拨号器会弹出,并在电话号码字段中显示4165551234
。然后用户只需点击通话按钮即可。
你也许可以做到
For more information, call us at <a href='tel:416-555-1234'>416-555-1234</a>
涵盖这两种设备,但我不确定这将如何运作。我会尽快试一试并通知您。
编辑: 我刚刚在我的 HTC Magic 上尝试了这个,它使用 SenseUI 运行了一个根深蒂固的 Rogers 1.5:
For more information, call us at <a href='tel:416-555-1234'>416-555-1234</a><br />
<br />
Call at <a href='tel:416-555-1234'>our number</a>
<br />
<br />
<a href='416-555-1234'>Blah</a>
<br />
<br />
For more info, call <b>416-555-1234</b>
第一个,用链接包围并打印电话号码,效果很好。用连字符和所有字符拉起拨号器。第二个,用链接说our number
,工作方式完全相同。这意味着使用 <a href='tel:xxx-xxx-xxxx'>
应该可以全面使用,但我不建议将我的一次测试作为结论。
直接链接到该号码的预期效果:试图从服务器上提取不存在的文件。
最后一个和我上面提到的一样,拉起拨号器,但没有漂亮的格式连字符。
【讨论】:
以上是关于我可以在 Android 上通过 HTML 拨打电话吗?的主要内容,如果未能解决你的问题,请参考以下文章
(学习笔记)android 5.0 系统去电流程状态判断(上)
无论如何要为Android中的来电和去电制作我的自定义用户界面吗?