繁体   English   中英

iOS-我可以在使用Callkit接听电话时打开VoIP应用程序吗?

[英]iOS - Can I open my VoIP app on answering call using Callkit?

我打算创建一个iOS VoIP应用程序(之前没有做过任何iOS应用程序)。 我正在阅读有关IOS中的Callkit的信息 ,通过它我可以使他的应用通过iPhone本机呼叫屏幕接收电话。

在这里阅读Callkit api 其中提到可以知道是否接听了电话。

通过教程,下面是检测呼叫应答的代码:

-(void)reportIncomingCallWithHandle:(NSString *)handle
                            success:(void (^)())success
                            failure:(void (^)(NSError * error))failure {
    CXCallUpdate *update = [self newCallUpdateWithHandle:handle];
    self.callId = [NSUUID UUID];

    [self.provider reportNewIncomingCallWithUUID:self.callId update:update completion:^(NSError * _Nullable error) {
        if (error) {
            if (failure) failure(error);
        } else {
            if (success) {
                success();
            }
        }
    }];
}

参见成功块。 那么,执行此成功块时,有没有办法打开我的应用程序? 还是可以覆盖呼叫者屏幕上的默认按钮以打开我的应用程序?

我知道无法在收到任何类型的通知或事件触发器时打开应用程序。 因此,如果我可以使用Callkit进行相同的操作,可能会有某种方法

我搜索了所有内容,但没有发现有关上述查询的任何线索。 如果有可能,请帮助我。

我遇到了同样的问题。 行为取决于设备是否被锁定而变化。

  1. 锁定:出现系统调用屏幕。 您可以在后台运行该应用程序,包括视图转换。 但是,尽管您的应用程序显示在视图下方,但用户只会看到系统调用屏幕。 设备被锁定后,深层链接也无法正常工作。
  2. 解锁:呼叫屏幕相同,但是一旦用户接听电话,就会显示该应用程序。

如您所知,我们可以在打开应用程序的呼叫屏幕上更改按钮的图标,这是到目前为止我们能做的最好的事情。

您无法从CallKit打开自己的VoIP应用程序或应用程序的自定义UI。 使用可以像Whatsapp一样使用它。

意味着您可以在不使用本地通知的情况下将应用从后台唤醒。 操作系统将显示默认的传入屏幕。 您无需在通话中处理任何事情。 CallKit是专门为增强VoIP应用而设计的,它可以在后台接听电话,拨出电话,管理电话目录和阻止用户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM