代码之家  ›  专栏  ›  技术社区  ›  user3267567

如何防止来电自动接听

  •  0
  • user3267567  · 技术社区  · 10 年前

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

    1 回复  |  直到 10 年前
        1
  •  0
  •   sam_smith    10 年前

    当您的应用程序收到传入调用通知时,将调用以下委托方法(我已直接从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];
    }
    

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

    注意:别忘了保留一个指向来电的指针,以便在来电时接听来电。我们可以在receive call方法中看到这种情况:

    _call = call;