Mik*_*ike 19 xcode objective-c ios cordova
我正在尝试拨打iOS中的电话号码,但我只有模拟器和iPod Touch进行测试.
该代码使用了以下内容:
window.location.href = 'tel:01234567890';
Run Code Online (Sandbox Code Playgroud)
适用于Android,但在iOS中它会死于:
无法加载包含错误的网页:无法显示该网址
现在,我确实意识到这已经被问过了,但是从一段时间以来的普遍共识是"它不起作用,你需要使用插件".一段时间以来,关于这一点的问题并不多,而且有什么问题似乎表明它在以编程方式进行时是有效的(如上所述window.location.href
).我已经尝试了iOS PhoneDialer和相同插件的较新版本,但两者都有错误在XCode(ARC forbids explicit message send of 'release'
) - 有点faffing我可以运行,但然后PhoneGap找不到插件 - 它真的感觉像我用这种方法打砖墙,我简直不敢相信,这需要一些东西.
我知道你不能出于安全原因自动拨打/自动呼叫号码,但我需要做的就是打开预先填充号码的拨号器,这对于mailto:info@example.com
打开你的电子邮件客户端和发送者预设的链接肯定没有什么不同.填充?
所以,我的问题是:
gaq*_*qzi 40
你没有指定你使用的Cordova版本,所以我假设版本> 3.
确保安装了自版本3以来的插件InAppBrowser,然后通过Javascript调用它来打开链接,如下所示:
window.open('tel:12345678', '_system')
Run Code Online (Sandbox Code Playgroud)
_system
将使用系统自己的浏览器打开它,然后打开调用对话框,如果你在http://maps.apple.com/上使用它,它将在地图应用程序中打开,类似于打开特殊网址的其他应用程序.
备注:
window.open
函数不会自动设置.你必须自己做:window.open = cordova.InAppBrowser.open;
.相反,你可以直接使用cordova.InAppBrowser.open('tel:12345678', '_system');
num
是一个字符串.功能:
function placeCall(num) {
if (window.cordova) {
cordova.InAppBrowser.open('tel:' + num.replace(/\s/g,''), '_system');
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22569 次 |
最近记录: |