ios監(jiān)聽(tīng)系統(tǒng)來(lái)電

最近在做音視頻通話,其中有一個(gè)需求是當(dāng)用戶接聽(tīng)電話時(shí)退回到主界面,遇到了一下問(wèn)題,跟大家分享一下。
CoreTelephony/CTCallCenter框架定義了在app運(yùn)行時(shí)監(jiān)聽(tīng)來(lái)電的block,用來(lái)處理app在來(lái)電時(shí)的各種情況。
首先在需要監(jiān)聽(tīng)來(lái)電的控制器的.m中引入頭文件import <CoreTelephony/CTCallCenter.h>, import <CoreTelephony/CTCall.h>,定義屬性,必須在屬性中聲明,要不不會(huì)回調(diào)block
*注:這里沒(méi)有測(cè)試,自己代碼就是這么寫(xiě)的,參考別人的文章-

@interface ViewController ()

@property(nonatomic, strong) CTCallCenter *callCenter; //必須在這里聲明,要不不會(huì)回調(diào)block

@end

具體的代碼如下所示,代碼寫(xiě)在viewDidLoad中

- (void)receiveCall {
    self.callCenter = [[CTCallCenter alloc] init];
    self.callCenter.callEventHandler = ^(CTCall * call) {
        if([call.callState isEqualToString:CTCallStateDisconnected]) {
            NSLog(@"Call has been disconnected");//電話被掛斷(我們用的這個(gè))
        } else if([call.callState isEqualToString:CTCallStateConnected]) {
            NSLog(@"Call has been connected");//電話被接聽(tīng)
        } else if([call.callState isEqualToString:CTCallStateIncoming]) {
            NSLog(@"Call is incoming");//來(lái)電話了
        } else if([call.callState isEqualToString:CTCallStateDialing]) {
            NSLog(@"Call is Dialing");//撥號(hào)
        } else {
            NSLog(@"Nothing is done");
        }
    };
}

總結(jié)下自己實(shí)現(xiàn)功能時(shí)遇到的坑,因?yàn)槲叶鄠€(gè)界面要監(jiān)聽(tīng)電話的接入,剛開(kāi)始遇到了來(lái)電話時(shí)崩潰的情況,解決方法是每次在界面push或是dismiss時(shí)把self.callCenter置為nil。

附加容易被忽略的一個(gè)點(diǎn):self.callCenter.currentCalls去判斷當(dāng)前是否有電話

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近再做視頻播放的項(xiàng)目,有個(gè)需求就是監(jiān)聽(tīng)系統(tǒng)來(lái)電,遇到一些小坑,找不到合適的資料,于是總結(jié)一下。 代碼如下: Co...
    70歲了還要浪閱讀 5,092評(píng)論 5 9
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,703評(píng)論 4 61
  • 偶然翻找視頻,聽(tīng)到了我的男神、我的偶像成甲講的一堂課! 作為一名新晉紅人,可能很多人對(duì)他并不熟知,所以...
    露露兒Lucy閱讀 609評(píng)論 2 3
  • 找到了!不禁笑出聲,相你小一,你在哪里…… 雖然100斤,但上身明顯壯啦,一字肩什么的沒(méi)發(fā)穿的! 前年買的連衣裙穿...
    ninvxv閱讀 132評(píng)論 0 0

友情鏈接更多精彩內(nèi)容