【发布时间】:2015-09-29 10:22:25
【问题描述】:
我的应用程序集成了远程推送通知服务。它工作正常。我想在我的应用程序中更新用户未读通知计数。如果在应用程序处于后台时收到通知,并且如果用户在未单击通知而不是单击通知的情况下启动应用程序,则用户通过点击应用程序图标打开应用程序(应用程序尚未关闭,只是在后台运行)。所以由于用户还没有阅读通知,我的视图控制器应该更新新的通知计数。
我该怎么做?请帮帮我
【问题讨论】:
标签: ios uiviewcontroller
我的应用程序集成了远程推送通知服务。它工作正常。我想在我的应用程序中更新用户未读通知计数。如果在应用程序处于后台时收到通知,并且如果用户在未单击通知而不是单击通知的情况下启动应用程序,则用户通过点击应用程序图标打开应用程序(应用程序尚未关闭,只是在后台运行)。所以由于用户还没有阅读通知,我的视图控制器应该更新新的通知计数。
我该怎么做?请帮帮我
【问题讨论】:
标签: ios uiviewcontroller
您可以在 ViewController 的 viewWillAppear: 方法中注册 UIApplicationWillEnterForegroundNotification。
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(updateGUI)
name:UIApplicationWillEnterForegroundNotification
object:[UIApplication sharedApplication]];
然后用最新的服务器数据更新你的 UI:
- (void)updateGUI {
// Get latest unread request count from server and update UI
}
【讨论】:
dealloc中删除self作为观察者。
[UIApplication sharedApplication].applicationIconBadgeNumber,但正如我在帖子中提到的,我建议你从服务器获取它。由于您的应用程序现在进入前台,您有机会直接从您的服务器获取最新计数。这将是最新和最大的价值。显示加载覆盖,直到响应返回。