1

我在我的应用程序中使用呼叫功能。我想在通话断开时调用一个 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===============");
    }
};

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

4

1 回答 1

0

只有当您拒绝 GSM 呼叫时,才会调用“CTCallStateDisconnected”。如果您接听 GSM 呼叫,则将调用“CTCallStateConnected”,在这里您必须设置一些标志,表示一旦 GSM 呼叫结束,GSM 已连接,然后在您的应用程序 applicationDidBecomeActive() 中使用您必须做任何您想做的事情的标志,例如。恢复通话。

于 2013-09-25T13:33:49.543 回答