如何检查应用程序是否被带到前台以处理自定义方案URL?

时间:2015-06-08 07:42:20

标签: ios uikit

如何通过发送自定义方案网址(不点击应用图标)来判断应用是否已被置于前台??

如果该应用当前未运行,则会调用-application:didFinishLaunchingWithOptions:,我们可以使用UIApplicationLaunchOptionsURLKey中的密钥launchOptions的值进行检查,但如果该应用已在运行,我们唯一的选择是UIApplicationWillEnterForegroundNotification,它没有提供有关应用程序被带到前台的原因的信息。

有没有其他方法可以说明这种差异(通过自定义网址将应用带到前台,通过点按应用图标将应用带到前台)?

1 个答案:

答案 0 :(得分:0)

您的应用将收到 -application:openURL:sourceApplication:annotation:通过您的App代表从操作系统调用。

如果您的应用未运行,应用代表会先收到-application:didFinishLaunchingWithOptions:,然后-application:openURL:sourceApplication:annotation:

如果您的应用已在运行,则只会收到后者。