我已经成功集成了 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/