Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery移动应用程序,使用HTML5拨打移动电话_Javascript_Android_Html_Cordova_Jquery Mobile - Fatal编程技术网

Javascript JQuery移动应用程序,使用HTML5拨打移动电话

Javascript JQuery移动应用程序,使用HTML5拨打移动电话,javascript,android,html,cordova,jquery-mobile,Javascript,Android,Html,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

我正在使用带有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:*" />

但它也不起作用。 如果您有任何解决方案建议,请这样做。谢谢大家!

你试过了吗

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

CordovaCallNumberPlugin应该可以帮助您


将以下行添加到
config.xml

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

如果您使用的是
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();
                });

试着让我们知道。这对我来说效果很好。

首先,你发布的所有上述答案都是正确的,效果很好。我遇到的问题是,我的应用程序中没有包含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库。
谢谢你的回答

我试过了,什么也没做。无论如何谢谢你!config.xml已经有这一行了。我刚刚添加了version属性,并尝试使用
窗口打开它。open
也不起作用。谢谢你的回复@安德烈亚斯,应该有用的!我建议您从配置文件中删除不必要的行,例如
。并检查日志以捕获任何可能的错误。顺便说一句,它不能在模拟器上工作,所以你需要在实际设备上测试它。
<a  rel="external" href="#" onclick="window.open('tel:+123456789', '_system');" data-role="button">Call</a>