当我的应用程序处于前台时,它需要轻松检测呼叫事件,例如呼叫连接、呼叫断开连接,但是当我的应用程序进入后台时,它不会检测到任何呼叫事件。
那么如何在后台检测来电和去电等通话事件呢?我正在使用and开发CallKit
框架。我发现核心电话框架在 iOS 10 中已被弃用。iOS 10
XCode 8
我正在使用CXCallObserverDelegate
Pattern 来观察通话。
我想计算通话过程中来电和去电的通话时长。
当我的应用程序处于前台时,它需要轻松检测呼叫事件,例如呼叫连接、呼叫断开连接,但是当我的应用程序进入后台时,它不会检测到任何呼叫事件。
那么如何在后台检测来电和去电等通话事件呢?我正在使用and开发CallKit
框架。我发现核心电话框架在 iOS 10 中已被弃用。iOS 10
XCode 8
我正在使用CXCallObserverDelegate
Pattern 来观察通话。
我想计算通话过程中来电和去电的通话时长。
在搜索了这个问题之后,我最终得到了这个答案,我认为这可能会有所帮助
是的,您可以检测到呼叫,但前提是您的应用程序在前台运行。为此,您可以使用Core Telephony Framework。
如果您的应用属于任何后台运行类别(VOIP、音频、位置跟踪或附件),您可能可以
CTCallCenter
在后台使用。但请注意,如果您将后台运行模式用于不适合的用途,Apple 将拒绝您的应用程序。
这CTCallCenter
将允许您检测任何已启动或已在进行的呼叫。
但是,您将无法检测到有关呼叫的任何详细信息,CTCall
识别呼叫只会告诉您此状态。callID
ofCTCall
只会为您提供呼叫的唯一标识符,而不是被呼叫的号码。