当我的应用程序在前台时,它需要轻松检测呼叫事件,如电话接通、电话断开,但是当我的应用程序进入后台时,它就不能检测到任何呼叫事件。
那么我该如何在后台检测呼叫事件,例如来电和去电呢?
我正在使用带有和的CallKit
框架。我发现iOS 10中核心电话框架已被弃用。
我正在使用CXCallObserverDelegate
模式观察呼叫。
我想要在通话期间计算来电和去电的通话持续时间。
当我的应用程序在前台时,它需要轻松检测呼叫事件,如电话接通、电话断开,但是当我的应用程序进入后台时,它就不能检测到任何呼叫事件。
那么我该如何在后台检测呼叫事件,例如来电和去电呢?
我正在使用带有和的CallKit
框架。我发现iOS 10中核心电话框架已被弃用。
我正在使用CXCallObserverDelegate
模式观察呼叫。
我想要在通话期间计算来电和去电的通话持续时间。
在查找这个问题后,我得出了以下答案,我认为可以帮助你:
是的,你可以检测到电话呼叫,但只有当你的应用程序在前台运行时才能实现。 为此,您可以使用核心电信框架。
如果您的应用程序属于后台运行类别之一(VOIP、音频、位置跟踪或配件),您可能可以在后台使用CTCallCenter
。但请注意,如果您将后台运行模式用于其不适用的内容,Apple将拒绝您的应用程序。
CTCallCenter
将允许您检测到任何已开始或正在进行的电话呼叫。
CTCall
标识通话的只会告诉您这个状态。CTCall
的callID
只会为通话提供唯一标识符,但不包括被叫号码。
原问题