JQuery Mobile应用程序,使用HTML 5进行移动呼叫

时间:2015-04-19 18:25:16

标签: javascript android html5 cordova jquery-mobile

我正在使用带有Phonegap的JQuery Mobile,我正在尝试创建一个按钮,当我点击它时,应该拨打电话。我对此问题进行了大量研究,并找到了以下解决方案

<a href="tel:+123456789">Call</a>

<a href="#" onclick="window.open('tel:+123456789', '_blank', 'location=yes');" data-role="button">Call</a>

此解决方案正在开发浏览器(要求我打开Skype),但是当我在Android上运行它时,三星Galaxy S2无效。它没有做任何事情。

我尝试将以下权限添加到config.xml文件中:

<access launch-external="yes" origin="tel:*" />

但也没有工作。 如果您有任何建议的解决方案,请这样做。谢谢!

5 个答案:

答案 0 :(得分:0)

你尝试过吗?

<a rel="external" href="tel:+123456789">Call</a>

答案 1 :(得分:0)

CordovaCallNumberPlugin应该可以帮到你

https://github.com/rohfosho/CordovaCallNumberPlugin

答案 2 :(得分:0)

将以下行添加到config.xml

<gap:plugin name="org.apache.cordova.inappbrowser" version="0.5.2" />

并使用此命令来设置数字:

window.open('tel:+123456789', '_system');

答案 3 :(得分:0)

如果您使用的是inappBrowser插件,则可以使用tel:地址启动inappbrowser窗口:

var refcall = window.open('tel:'+phoneno, '_blank', 'location=no,closebuttoncaption=Home,disallowoverscroll=yes');

您可能会注意到,当通话结束时,您将被带回白色屏幕,电话号码写在最上面。为避免这种情况,请附加以下代码:

refcall.addEventListener('loadstop', function(event) {
                    console.log('done initiating call... closing inappbrowser module');
                    refcall.close();
                });

尝试告诉我们。它对我来说很好。

答案 4 :(得分:0)

首先,您发布的所有上述答案都是正确的,并且正常运行。我遇到的问题是我没有在我的应用程序中包含cordova库。

<script type="text/javascript" src="cordova.js"></script>

因此,当我在页面标题中包含上述行时,拨号屏幕上会显示电话号码!我使用以下代码创建调用按钮:

<a  rel="external" href="#" onclick="window.open('tel:+123456789', '_system');" data-role="button">Call</a>

我通过创建新的phonegap应用程序并仅使用上面给出的锚标记来跟踪解决方案。默认情况下,cordova库在脚本中。 谢谢你的回答