html5 jquery Mobile Hybrid PhoneGap App on Android S6 Sport 使用PhoneGap 桌面和PhoneGap Developer App on Phone.不确定电话间隙版本(cli未正确安装,已尝试但打开提示出现错误),但这是最近(上周)安装。
在 chrome 中使用呼叫会打开电话应用拨号器,但不会在测试电话间隙应用中打开 - 单击不会执行任何操作。 还有mailto:和http:行为相同,在chrome中工作而不是在应用程序中工作。
确切的 html 是:
<a id="btn_phone" href="tel:18001231234" rel="external" data-role="button" data-icon="phone"></a>
我添加到配置中.xml并根据评论删除了包罗万象这让它为其他人工作,但在我的情况下并非如此。
在配置文件中是这样的:
<access origin="tel:*" launch-external="yes"/>
<access origin="geo:*" launch-external="yes"/>
<access origin="mailto:*" launch-external="yes"/>
<access origin="sms:*" launch-external="yes"/>
<plugin name="cordova-plugin-whitelist" version="1"/>
<allow-intent href="http://*/*"/>
<allow-intent href="https://*/*"/>
<allow-intent href="tel:*"/>
<allow-intent href="sms:*"/>
<allow-intent href="mailto:*"/>
<allow-intent href="geo:*"/>
如前所述,我删除了这个:
<access origin="*"/>
因此,根据我所阅读的所有内容,这应该是我需要做的,但它仍然不起作用。
两个问题:
有谁知道解决这个问题的方法?
有没有办法在手机上调试它以查看失败的原因?
谢谢
我一直为此苦苦挣扎,最终做了以下工作:
在 HTML 中:
<input type="button" href="tel:+1-800-555-1234“ class="phone-number" value="1-800-555-1234"/>
在 Javascript 中:
$(‘.phone-number’).bind(click, function(e) {
e.preventDefault()
var phoneLink = $(e.currentTarget).attr('href');
window.open(phoneLink, '_system', 'location=yes’);
}
你的科尔多瓦版本是什么?我认为您的问题是白名单插件声明。
试试这个:
<feature name="Whitelist">
<param name="android-package" value="YOUR_WHITELIST_CORDOVA_PATH" />
<param name="onload" value="true" />
</feature>
有关如何配置白名单的更多信息,请访问:https://www.npmjs.com/package/cordova-plugin-whitelist
<小时 />请注意 此答案不适用于 CLI。 此上下文中的<feature>
适用于 SDK 和使用 IDE 的用户。请参阅文档 功能元素
报价:
如果使用 CLI 构建应用程序,请使用插件命令启用设备 API。这不会修改顶级 config.xml 文件,因此
<feature>
元素不适用于您的工作流。如果您直接在 SDK 中工作并使用特定于平台的 config.xml 文件作为源,则可以使用
<feature>
标记来启用设备级 API 和外部插件。它们通常与自定义值一起出现在特定于平台的配置.xml文件中。