当用户按下通话工具中的Facetime按钮时,没有委托或通知

问题描述 投票:0回答:1

我有一个应该支持视频通话的VoIP应用。因此,我选择了该应用程序,锁定了屏幕,然后接收到来电。问题是当用户按下“ facetime”(视频通话)按钮时,我不知道如何获取通知。基本上,用户是通向该应用程序的,但是由于我确实知道要监听的委托或通知,因此没有任何反应。我查看了Skipe应用,当在通话屏幕上按下视频通话按钮时,它似乎会收到通知。因此,当在Skipe应用程序中按下“ facetime”按钮时,将导致该用户进入该应用程序,并且视频流开始。简而言之,当用户在呼叫工具包中按下视频按钮时,有人可以指出我应该听哪种代表或通知才能得到通知?

ios iphone video callkit
1个回答
4
投票

根据此帖子:https://stackoverflow.com/a/43487523/6296389,有一个AppDelegate方法,当手机锁定时,当从本地CallKit屏幕上按下视频按钮时,该方法会通知应用程序。目标C委托方法是:

    - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler

您应检查是否:

    [userActivity.activityType isEqualToString:@"INStartVideoCallIntent"] 

以识别接收到的动作是否是开始视频的意图。

Swift版本

func application(_ application: UIApplication,
          continue userActivity: NSUserActivity,
          restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {

    if userActivity.activityType == "INStartVideoCallIntent" {
        // treat start video
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.