我想知道我的应用程序是否通过用户单击应用程序图标进入前台。(无论是重新启动还是从非活动状态变为活动状态都无关紧要)
但不是来自来电、应用内购买或其他任何东西。
(我发现在应用内购买过程中调用了 applicationDidBecomeActive)
我想知道我的应用程序是否通过用户单击应用程序图标进入前台。(无论是重新启动还是从非活动状态变为活动状态都无关紧要)
但不是来自来电、应用内购买或其他任何东西。
(我发现在应用内购买过程中调用了 applicationDidBecomeActive)
第1步:
当应用程序启动并且之前不在后台(暂停)时,application:didFinishLaunchingWithOptions:
将首先执行。此方法带有launchOptions
参数 - 当它是 时nil
,您的应用程序是通过 Springboard 中的图标点击启动的。否则launchOptions
将指示应用程序启动的原因(URL 方案、推送通知等...更多在文档中)。
第 2 步:
到目前为止,一切顺利。现在让我们来处理恢复。当应用程序恢复(或启动)时,它会在某个时候调用applicationDidBecomeActive
应用程序的委托。诀窍是在所有可能的应用程序可以恢复(启动)的原因都得到服务之后调用此方法。因此,您需要做的就是引入一个BOOL
标志,您将在方法中设置该标志,为您的应用程序恢复的原因提供服务,并稍后applicationDidBecomeActive
根据预期值检查它。
需要设置标志的方法列表(我猜是不完整的):
application:handleOpenURL:
application:openURL:sourceApplication:annotation:
application:didReceiveLocalNotification:
application:didReceiveRemoteNotification:
您将在上述文档中找到其他方法。请记住,applicationDidBecomeActive
第1 步也将被调用。
祝你好运!