android - Sinch 像 viber 一样直接在本地通知上点击接听电话

标签 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();方法但未建立调用,只有当我按下“应答”按钮时调用才会建立。

最佳答案

在你的场景中,它可能取决于你如何处理 -[SINCallClient client:didReceiveIncomingCall:] 回调,我假设在这种情况下是将 SINCall 分配给你的 call View Controller 上的属性。例如。一旦应用程序返回到前台,将调用该委托(delegate)方法,这使您有机会将 SINCall 分配给 View Controller 上的 call 属性,然后您可以在该属性上调用 -[SINCall答案].

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

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

关于android - Sinch 像 viber 一样直接在本地通知上点击接听电话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25499653/

相关文章:

android - 如何在 mini control click 上为 cast sender app 中的不同内容启动不同的 Activity

ios - 如何为 pageControl.currentPage 创建枚举?

ios - 如何使用swift以编程方式获取设备IMEI号

android - Android 中的 Sinch 音视频通话

ios - 使用 Sinch 或 Twilio 创建随机呼出和呼入调用?

android - 从等式中显示错误的值

安卓 O : PHONE_STATE broadcast limitation

ios - 无法通过 CocoaPods 安装 pod (Mixpanel) - 编译失败(找不到文件) - 桥接头问题?

java - Sinch 示例应用程序包名称错误

java - 解密错误: caused by java. lang.noclassdeffounderror com/android/org/constcrypt/OpenSSLRSAPublicKey android