在程序中如果需要監聽電話狀態,可以引入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"]) {//斷開連接狀態}};
以上所述是小編給大家介紹的iOS coretelephony實現監聽通話狀態的全部敘述,希望對大家有所幫助,如果大家想了解更多內容,敬請關注武林網網站!
新聞熱點
疑難解答