在程序中如果需要監(jiān)聽電話狀態(tài),可以引入CoreTelephony框架,這個框架包含了電話相關(guān)的API,可以實現(xiàn)監(jiān)測來電,查看運營商信息等功能。下面就是具體的實現(xiàn)監(jiān)測來電的代碼。一定要把center寫成一個單獨的屬性,并且是強引用(strong),否則如果在viewDidLoad方法里創(chuàng)建center,viewDidLoad方法調(diào)用完后center就銷毀了,就無法檢測到來電了。
一個通話最初的狀態(tài)為呼入(CTCallStateIncoming)和呼出(CTCallStateDialing),當(dāng)接通后狀態(tài)轉(zhuǎn)變?yōu)榻油?(CTCallStateConnected),而當(dāng)通話終止時狀態(tài)轉(zhuǎn)變?yōu)閽鞌啵–TCallStateDisconnected)
CTCallCenter *center = [[CTCallCenter alloc]init];center_ = center;center.callEventHandler = ^(CTCall *call){NSLog(@"call:%@",call.description);if ([call.callState isEqualToString:@"CTCallStateDialing"]) {//正在呼叫狀態(tài)}if ([call.callState isEqualToString:@"CTCallStateDisconnected"]) {//斷開連接狀態(tài)}};
以上所述是小編給大家介紹的iOS coretelephony實現(xiàn)監(jiān)聽通話狀態(tài)的全部敘述,希望對大家有所幫助,如果大家想了解更多內(nèi)容,敬請關(guān)注武林網(wǎng)網(wǎng)站!
新聞熱點
疑難解答
圖片精選