1

我将从环境开始,AppGyver Steroids(包括 Cordova 3.1 核心插件)。

所需功能:从 javascript 控制器拨打电话并检测尝试是成功还是失败。

有类似的问题,但它们要么针对 Android 实现,要么不涉及功能的第二部分。

根据我的研究和尝试,window.open('tel:12345678', '_system')这是最有效的方法,无需使用自定义插件(首选),但无法检测它是成功还是失败(拨号器是否打开就足够了)。

这些类型的答案使我得出结论,我确实需要一个自定义 Cordova 插件来获取该信息,并且该插件方法甚至可能是首选,因为它可以本地访问拨号程序。

我的问题是 2 倍,你知道另一种解决方案,它可以只用核心插件实现,要么返回成功/失败,要么接受它们的回调?- 如果您是一位经验丰富的 Cordova 用户,该任务的最佳实践是什么?是否有适用于 Android 和 iOS 的首选开源插件?关于本机应该是什么样子的任何建议?

谢谢

[edit] 继续使用插件,但获取有关拨号器的准确信息仍然存在问题。普遍接受的解决方案似乎集中在[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"tel://"]];(参见这个问题进行一次讨论 - 不幸的是我还不能发表评论)。但是,正如其他人也指出的那样,该功能可能由于多种原因而失败,其中一些是暂时的,因此,它不是检测设备中是否有实际拨号器的可靠方法。有了这个插件,我现在可以使用原生但对 iOS 原生开发来说是新的。有什么建议么?

4

1 回答 1

0

[回答您的编辑] 如果您只想显示/隐藏没有拨号器的设备的呼叫功能,您可以做一些浏览器嗅探来测试它是否和 iPad/非电话。这通常不是一个好的解决方案,但由于您在 iOS 上使用 Cordova 构建一些东西,所以您已经知道每种情况下的浏览器是什么。

于 2014-04-23T00:36:21.763 回答