一旦应用程序在收到推送通知后变为活动状态,就为用户呈现 UIAlertView

Present UIAlertView For User Once Application Becomes Active AFTER Receiving A Push Notification

我一直在做一些研究,但似乎无法让它发挥作用。当应用程序处于后台或非活动状态时,有人收到推送通知后,有没有办法在您的应用程序中显示 UIAlertView?我曾尝试将代码放入 didReceiveRemoteNotification,但它仅在应用程序处于活动状态时有效。有人能指出我正确的方向吗?

根据文档 -[UIApplicationDelegate application:didReceiveRemoteNotification] 仅当应用程序位于前台时才会调用 get。从 iOS7 开始,您实际上应该使用 -[UIApplicationDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:] ,它将在前台和后台调用。

当应用程序处于后台时,某某某某在设计上禁止调用任何 UI 更改(例如,显示 UIAlertView 将被忽略)。但是,您可以为自己设置一个标志 -[UIApplicationDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:] 然后检查它并在 -[UIApplicationDelegate applicationWillEnterForeground 中显示 UIAlertView: ].