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