在程序中如果需要监听电话状态,可以引入CoreTelephony框架,这个框架包含了电话相关的API,可以实现监测来电,查看运营商信息等功能。下面就是具体的实现监测来电的代码。一定要把center写成一个单独的属性,并且是强引用(strong),否则如果在viewDidLoad方法里创建center,viewDidLoad方法调用完后center就销毁了,就无法检测到来电了。
一个通话最初的状态为呼入(CTCallStateIncoming)和呼出(CTCallStateDialing),当接通后状态转变为接通 (CTCallStateConnected),而当通话终止时状态转变为挂断(CTCallStateDisconnected)
1
2
3
4
5
6
7
8
9
10
11
|
CTCallCenter *center = [[CTCallCenter alloc]init]; center_ = center; center.callEventHandler = ^(CTCall *call){ NSLog(@ "call:%@" ,call.description); if ([call.callState isEqualToString:@ "CTCallStateDialing" ]) { //正在呼叫状态 } if ([call.callState isEqualToString:@ "CTCallStateDisconnected" ]) { //断开连接状态 } }; |
以上所述是小编给大家介绍的iOS coretelephony实现监听通话状态的全部叙述,希望对大家有所帮助,如果大家想了解更多内容,敬请关注服务器之家网站!