如何检查我的应用程序是不是通过 Siri 快捷方式恢复

Posted

技术标签:

【中文标题】如何检查我的应用程序是不是通过 Siri 快捷方式恢复【英文标题】:How do I check if my app is resumed by a Siri shortcut如何检查我的应用程序是否通过 Siri 快捷方式恢复 【发布时间】:2019-07-22 08:43:46 【问题描述】:

我正在使用 Siri 快捷方式。我想知道我的应用是否在以下情况下通过 Siri 快捷方式启动:

    当应用程序在后台运行时 当应用程序不在后台运行时

对于case 2,我可以使用“didFinishLaunchingWithOptions”方法,但对于case 1,我不确定使用什么方法。

我将不胜感激有关此主题的任何建议和想法。谢谢。

【问题讨论】:

【参考方案1】:

您可以在 AppDelegate 中实施此检查

func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool 
    if #available(ios 12.0, *) 
        if userActivity.interaction?.intent is YOUR_INTENT_CLASS 
            // App launched via that particular shortcut.
        
    

【讨论】:

以上是关于如何检查我的应用程序是不是通过 Siri 快捷方式恢复的主要内容,如果未能解决你的问题,请参考以下文章

我的应用程序如何打开 Siri 快捷方式记录短语视图

如何在不捐赠意图或使用快捷方式的情况下利用 Siri 创建自定义对象?

SIRI 不会根据提供的参数回话,而是打开“快捷方式”应用程序

Siri - iPhone 上的快捷方式:应用程序在建议中不可见

从应用程序以编程方式调用 siri 快捷方式

带有独立 WatchOS 应用程序的 Siri 表盘上的快捷方式/操作