在程序中如果需要監聽電話狀態,可以引入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實現監聽通話狀態的全部敘述,希望對大家有所幫助,如果大家想了解更多內容,敬請關注本站網站!