如何防止来电自动接听

how to prevent automatic answer of incoming call

我正在按照这个 Sinch 示例设计一个应用程序到应用程序调用应用程序:http://www.hnwatcher.com/r/1345925/Android-Use-the-Sinch-SDK-to-build-a-free-calling-app-in-30-mins 我已经在 github 下载了示例应用程序。 除了自动接听来电外,一切正常。我希望在接收者单击按钮后接听电话。我怎样才能做到这一点?

当您的应用收到来电通知时,将调用以下委托方法(我已将其直接从 Sinch 应用复制到应用调用 tutorial):

- (void)client:(id<SINCallClient>)client didReceiveIncomingCall:(id<SINCall>)call {
    // For now we are just going to answer calls, 
    // in a normal app you would show in incoming call screen
    call.delegate = self;
    _call = call;
    [_call answer];
}

在本教程中,电话是要立即接听的,所以我们打电话给

[_call answer];

来回答。

要在按下按钮时接听电话,您只需将上面的代码行从该委托方法中移出到按钮操作中即可。

- (IBAction)answerButtonPressed: (UIButton *)button {
    [_call answer];
}

添加以上内容意味着当有来电时不会立即接听,当您单击按钮时会接通电话。

注意:不要忘记保留一个指向来电的指针,以便您在来电时接听电话。我们可以在接收调用方法中看到这种情况:

_call = call;