我似乎无法找到检测通知何时进入的方法。例如,如果我的应用程序已打开并且用户获得了Facebook推送通知\,是否有任何UIApplication通知或其他会告诉我的应用程序不再处于前台,Facebook警报位于顶部?如果通知是横幅或警报,则最好触发某些内容
答案 0 :(得分:4)
您无法检测发送到其他应用的推送通知。
如果您想要检测您的应用是否不在前台,可以使用applicationWillResignActive:
的{{1}}方法或注册UIApplicationDelegate
通知。
但是,当通知横幅显示在顶部时,您的应用程序仍处于前台。当通知被提示为警报时(用户可以在首选项中设置此通知),应用程序将失去焦点,它将不再处于前台。
答案 1 :(得分:0)
顶部的通知横幅是由SpringBoard(另一个进程)显示的窗口,在用户触摸它之前它不会成为关键。如果用户向下滑动通知并且通知中心打开,则您的应用将变为非活动状态,并且您的应用委托会听到此消息。如果用户点按通知,您的应用会转到后台,而另一个已打开。如果用户已选择查看警报而不是横幅,则在显示警报后,您的应用将重新启用。您可以收听UIApplicationWillResignActiveNotification
通知,以了解应用程序何时处于有效状态。