如果用户忽略了ios上的最后一个警报,如何访问上一个本地通知?

时间:2013-10-01 14:53:43

标签: ios uilocalnotification

我的应用程序处于后台,并且通知警报确实正确显示,并且徽章编号增加了1。 如果用户点击警报,一切正常,并且调用委托didReceiveLocalNotification

但是用户忽略了警报。 在用户再次打开我的应用程序一段时间后,唯一被调用的代理是didBecomeActive。 我如何根据上次忽略的警报做某事(例如显示UIAlertView

3 个答案:

答案 0 :(得分:3)

据我所知,如果通知被忽略,一旦再次打开应用程序就无法恢复通知。

您需要检查推送该通知的服务,以了解是否有新内容

答案 1 :(得分:3)

iOS本身并未提供任何方法。

但你可以这样做:

  1. 在向iOS注册通知时 - 将所有通知数据写入文件。
  2. 在应用程序启动加载通知文件和所有已过期的通知(NSDate< now) - 那些被忽略的通知。
  3. 在做之前2.您需要检查是否有人来自通知并将其从您的文件中删除。
  4. 这是一种重复的iOS通知管理系统,不允许遗憾地获取已注册通知的列表。

    向文件写入通知应该很简单:它已经实现了NSCoding协议。

答案 2 :(得分:0)

不幸的是,没有直接的方法来实现它。

可能的解决方法 - 如果用户驳回/忽略您的推送通知,您的应用可以查看服务器上的消息并以适当的方式处理它。