Android中tel:href "Click to call"链接无法使用

5
在我的 Cordova 安卓应用中,我有一个类似于这样的链接: 点击拨号 在 IOS 中,这个点击拨号链接按预期工作,但在安卓中,点击被某些东西阻止了,例如:
11-26 11:13:00.565: D/WebCore(18944): uiOverrideUrlLoading: shouldOverrideUrlLoading() returns true 这是当点击电话号码链接时我的日志结果,重定向不起作用。
我还尝试过使用 JavaScript 点击来覆盖重定向,但也没有成功。请帮我找到解决方案。
我正在使用 Cordova 3.6。

你尝试过使用window.location.href这个数字吗? - manukv
嗨,manukv.. 我已经尝试过了..var href = $(this).attr("href"); var number = href.split(":")[1]; window.location.href = number;但是什么也没发生。 - Vijay
你在config.xml中给了白名单访问权限吗? - manukv
1个回答

22
这个问题可能是由于 Cordova 白名单权限问题引起的。 您可以在 Config.xml 文件中指定访问权限,如下所示:
 <access origin="tel:*" launch-external="yes" />

在 Cordova 3.6.3 更新中,有一些安全性更新。
这些安全性修复涉及为非 http/s 协议创建新的白名单。如果您的应用程序使用除http://和https://之外的其他协议,例如sms:,mailto:,geo:等,则需要进行一些配置更改以将这些协议添加到白名单中。
<access origin="tel:*" launch-external="yes"/>
<access origin="geo:*" launch-external="yes"/>
<access origin="mailto:*" launch-external="yes"/>
<access origin="sms:*" launch-external="yes"/>
<access origin="market:*" launch-external="yes"/>

请将以下内容添加到您的 Config.xml 文件中

详细信息请参阅 Cordova-Android 安全更新


谢谢您...我只是加了<access origin="tel:*" launch-external="yes"/>...然后它就起作用了...再次感谢。 - Vijay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接