CTCallCenter没有给出断开状态

时间:2013-08-29 12:34:37

标签: iphone ios core-telephony

我在我的应用程序中使用调用功能。我想在断开呼叫时调用一个API。我在应用程序didFinishLaunchingWithOptions中使用以下代码。

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===============");
    }
};

这段代码第一次给了我正确的状态。当我打电话时,它给我拨打电话,当电话结束时,它给我断开状态。但是当我在设备中再次安装相同的应用程序而不删除它时,它会给我拨号状态。但是当通话结束时,它不会给我断开状态。请帮忙。谢谢。

1 个答案:

答案 0 :(得分:0)

只有在拒绝GSM呼叫时才会调用'pCCallStateDisconnected'。如果您接听GSM呼叫,那么将调用'CTCallStateConnected',在这里你必须设置一些标志,说明一旦GSM呼叫结束就连接GSM,然后在你的app applicationDidBecomeActive()中使用你必须做的任何你想要的标志,例如。恢复通话。