2013-08-29 95 views
1

我在我的應用程序中使用了通話功能。呼叫斷開時,我想調用一個API。我在應用程序didFinishLaunchingWithOptions中使用以下代碼。CTCallCenter未給出斷開連接狀態

callCenter = [[CTCallCenter alloc] init]; 
callCenter.callEventHandler = ^(CTCall* call) { 

    if (call.callState == CTCallStateDisconnected) 
    { 
     NSLog(@"Call has been disconnected==================="); 
    } 
    else if (call.callState == CTCallStateConnected) 
    { 
     NSLog(@"Call has just been connected======================"); 
    } 
    else if(call.callState == CTCallStateDialing) 
    { 
     NSLog(@"Call is dialing======================"); 
    } 
    else 
    { 
     NSLog(@"None of the conditions==============="); 
    } 
}; 

這段代碼第一次給了我正確的狀態。即當我打電話時,它給我撥打電話,當通話結束時,它給我斷開狀態。但是當我在設備上再次安裝相同的應用程序而不刪除它時,它會給我撥號狀態。但是當通話結束時,它不會給我斷線狀態。請幫忙。謝謝。

回答

0

'CTCallStateDisconnected'只有在您拒絕GSM呼叫時纔會被呼叫。如果您接聽GSM電話,則會調用'CTCallStateConnected',在這裏您必須設置一些標誌,說明一旦GSM通話結束後GSM已連接,然後在您的應用程序applicationDidBecomeActive()中使用該標誌,您必須做任何你想做的事情。恢復通話。

相關問題