首页 > 解决方案 > Cordova:拨打电话时不会触发混合 iOS 应用程序暂停事件

问题描述

当我们使用 tel://123456789 拨打电话时,iOS 应用程序是否会进入后台?

我有一个 iOS 应用程序,它需要记录通过我们的应用程序发生的任何出站事件(例如发送邮件、呼叫等)。

用于通话

我们使用类似的东西:<a href="tel://123456789"></a>

在这种情况下,拨号器打开并拨打电话,但暂停或恢复事件永远不会被触发。所以基本上我们在通话结束后没有钩子/事件来为通话制作日志条目。尽管在 android 上复制相同的流程时,适当的事件(恢复、暂停)会被触发。

对于邮件

我们使用类似的东西: <a href="mailto: test@test.com"></a>

在这种情况下,用户的邮件客户端被打开,我们的混合应用程序进入后台,一旦发送邮件并且用户返回应用程序,“resume”事件就会被触发

我们需要类似的东西来打电话。任何指针将不胜感激。

标签: iosiphonecordovacordova-pluginshybrid-mobile-app

解决方案


如果不是由 Cordova 触发,您可以尝试收听 a 标签上的点击,然后自己触发该事件,这样您就不必更改代码。使用 jQuery:

 $('your_a_tag').on('touchstart', function(event){
      $(document).trigger('pause');
 });

或者,您可以在cordova-ios repo上打开支持票。


推荐阅读