如何在应用程序处于后台还是前台的情况下继续检测电话是否处于 Activity 状态,以便在有人 call 时向用户发送本地通知?

我使用此代码来检测电话是否处于 Activity 状态

#import <CoreTelephony/CTCallCenter.h>
CTCallCenter * callCenter = [[CTCallCenter alloc] init];
    if([callCenter currentCalls] ) {
        NSLog(@"phone call");
    }

我使用设备来测试该应用。

最佳答案

当应用程序在前台运行时,您可以使用Core Telephony Framework.检测到来电

要在后台检测通话,如果您的应用属于以下CTCallCenter中的任何一种,则可以使用categories provided by Apple:

  • 在后台播放用户可听内容的应用程序,
    例如音乐播放器应用
  • 在后台
  • 中记录音频内容的应用程序
  • 应用程序,可始终使用户知道其位置,例如
    作为导航应用
  • 支持互联网协议语音(VoIP)的应用程序
  • 需要定期下载和处理新内容的应用程序
  • 从外部附件接收定期更新的应用程序
  • 08-18 03:01