我环顾四周,我所能找到的只是检查CTCallCenter的callState。但是,这是通过侦听事件来进行的-根据应用程序是否处于活动状态/暂停状态/继续运行,可以在不同时间引发事件。]
我需要的不是与其听事件,而是在电话接通时被告知,我想自己决定何时询问电话是否接通。
[使用案例:连接电话时-用户知道并且将始终单击应用程序图标,这将打开应用程序。目前,我只想运行一个快速功能来检查当前是否在通话中。
这甚至有可能吗?
我环顾四周,我所能找到的只是检查CTCallCenter的callState。但是,这是通过侦听事件来进行的-根据应用程序是否处于活动状态/已暂停/恢复...
CTCallCenter
对象具有currentCalls
属性,它是当前调用的NSSet
。如果有呼叫,则currentCalls
属性应为!= nil。
#import <CoreTelephony/CTCallCenter.h>
#import <CoreTelephony/CTCall.h>
-(bool)isOnPhoneCall {
/*
Returns TRUE/YES if the user is currently on a phone call
*/
CTCallCenter *callCenter = [[[CTCallCenter alloc] init] autorelease];
for (CTCall *call in callCenter.currentCalls) {
if (call.callState == CTCallStateConnected) {
return YES;
}
}
return NO;
}
感谢您的回答ThomasW。我以为我也会发布代码。
我遇到了同样的问题,但是我认为从[[iOS 10