推送通知进入时的警报序列

时间:2011-04-28 18:39:36

标签: iphone objective-c cocoa-touch ios push-notification

请帮助我理解这一点:

按下主页按钮后,iPhone应用程序进入后台并收到推送通知。显示一条警报,其中包含该通知的消息,其上带有“查看”按钮。这个警报来自哪里 - 内部监督办公室产生它?

在我的代码中,我编写了代码,用于在我的

中发出通知时显示警报
- (void)application:(UIApplication *)iApplication didReceiveRemoteNotification:(NSDictionary *)iUserInfo {

方法。在此警报操作中,我正在显示我的视图控制器。现在,我最终会显示两个警报 - 一个来自IOS(我相信)并且点击视图会带我到我的应用程序的最后一个访问页面和我创建的第二个,并且轻触View会带我到想要的页面。

请帮助理解这一点。

2 个答案:

答案 0 :(得分:0)

如果我理解正确,如果点击View,就会得到两个AlertView而不是一个。然后,您应该检查应用程序是否处于活动状态。看看 UIApplication Class Reference UIApplication Class Reference #applicationState

- (void)application:(UIApplication *)iApplication didReceiveRemoteNotification:(NSDictionary *)iUserInfo {
    if([application applicationState] == UIApplicationStateActive) {
        //show alert
    }
}

答案 1 :(得分:0)

Oliver Drobnik在处理通知和应用状态时,对可能的消息流进行了非常详细的检查。简短版本 - 如果您的应用程序不在最前面,操作系统会显示通知,并可能启动您的应用程序以响应用户操作;如果您的应用程序位于最前端,那么您将对所有内容负责,无论是显示警报还是其他一些处理。

http://www.drobnik.com/touch/2010/07/understanding-ios-4-backgrounding-and-delegate-messaging/