我一直在做一些研究,但似乎无法让它发挥作用。当应用程序处于后台或不活动状态时,有人收到推送通知后,有没有办法在您的应用程序中显示 UIAlertView?我尝试将代码放入 didReceiveRemoteNotification 中,但它仅在应用程序处于事件状态时才有效。有人能指出我正确的方向吗?
最佳答案
根据文档 -[UIApplicationDelegate application:didReceiveRemoteNotification] 仅当应用程序位于前台时才会调用 get。从 iOS7 开始,您实际上应该使用 -[UIApplicationDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:] ,它在前台和后台都会被调用。
当应用程序处于后台时,某某某某在设计上禁止调用任何 UI 更改(例如,显示 UIAlertView 将被忽略)。但是,您可以为自己设置一个标志 -[UIApplicationDelegate application:didReceiveRemoteNotification:fetchCompletionHandler:] 然后检查它并在 -[UIApplicationDelegate applicationWillEnterForeground:] 中显示 UIAlertView。
关于ios - 一旦应用程序在收到推送通知后变为事件状态,就为用户呈现 UIAlertView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28564546/