您的位置:首页 > 移动开发 > IOS开发

iOS实现电话状态监听 CoreTelephony

2016-07-11 09:52 288 查看
在程序中如果需要监听电话状态,可以引入CoreTelephony框架,这个框架包含了电话相关的API,可以实现监测来电,查看运营商信息等功能。下面就是具体的实现监测来电的代码。一定要把center写成一个单独的属性,并且是强引用(strong),否则如果在
viewDidLoad
方法里创建center,
viewDidLoad
方法调用完后center就销毁了,就无法检测到来电了。

一个通话最初的状态为呼入(CTCallStateIncoming)和呼出(CTCallStateDialing),当接通后状态转变为接通 (CTCallStateConnected),而当通话终止时状态转变为挂断(CTCallStateDisconnected)

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"]) {

//断开连接状态
}

};



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: