Sinch接听电话直接点击本地通知,如viber

时间:2014-08-26 06:47:43

标签: android ios sinch

我已经成功集成了Sinch SDK,并且在应用程序打开时工作效果很好,现在我正在处理我的应用程序关闭时的调用。

当应用程序关闭时,当我点击通知时会有来电的本地通知,它会来电话屏幕,我们按“回答”或“拒绝”,但我需要的是点击通知我想直接建立电话而不要求“回答”或“拒绝”。

我尝试在 Appdelegate.m -

中调用方法
   - (void)handleLocalNotification:(UILocalNotification *)notification  
    {
        CallViewController *obj=[CallViewController alloc];
        double delayInSeconds =2.0;
             dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
             dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
                [obj answeCallDireclty];
                 NSLog(@"Answer  ");

      });

CallViewController.m

-(void)answeCallDireclty
{
    [self.call answer];
}

- (IBAction)accept:(id)sender {
 //   [[self audioController] stopPlayingSoundFile];
    [self.call answer];

}

控件将到达answerCallDireclty();方法但是呼叫未建立,只有当我按下“接听”按钮时,呼叫才会获得建立。

1 个答案:

答案 0 :(得分:3)

在您的场景中,它可能取决于您处理-[SINCallClient client:didReceiveIncomingCall:]回调的方式,我假设在此情况下将SINCall分配给视图控制器上的call属性。例如。一旦应用程序返回到前台,将调用该委托方法,这使您有机会将SINCall分配给视图控制器上的call属性,然后您可以在该属性上调用-[SINCall answer]

当您找到方法answerCallDirectly时,您确定已分配self.call,而不是nil吗?

(您还应该通过方法-[SINClient relayLocalNotification:]将本地通知转发给Sinch SDK,但在这种特殊情况下我不认为这是问题)