2013-08-29 61 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()中使用该标志,您必须做任何你想做的事情。恢复通话。

相关问题