多个同时UILocalNotifications

时间:2011-10-25 16:52:21

标签: iphone xcode uilocalnotification

如果我有两个(或更多)UILcalNotifications在同一时间或多或少地触发并且应用程序在后台处于活动状态,我发现:

  • 同时向用户显示两个警报,一个覆盖另一个。
  • 当用户触摸顶部警报上的“查看”时,警报将从屏幕上删除,此通知将调用didReceiveLocalNotification,并且应用程序将进入前台。
  • 一旦从屏幕上删除了最高警报(并且应用程序已在前台),用户就会看到其下的警报。
  • 但是,如果用户也触摸此视图的“查看”,则不会发生任何事情。第二个通知没有调用didReceiveLocalNotification,并且应用程序也无法知道用户也想查看此通知。

如果在两个通知触发时应用程序恰好位于前台,则没有问题 - 一个接一个地调用didReceiveLocalNotification(在这种情况下不显示警报)。

在上述情况下,有没有办法获得两个“查看”确认的通知?我做错了吗?

2 个答案:

答案 0 :(得分:0)

实际上,之前的通知不会调用didReceiveNotification委托方法(或者如果在后台使用应用程序时弹出两个或更多通知,则会调用任何其他方法)。但您可以根据需要跟踪之前的通知。

例如,如果您有一个应用程序在点击通知视图时将数据发送到服务器,那么每天将数据保存到plist(并每天编辑)数据已发送或未通过“是”或“否”因此,当通知发出时,应用程序会检查plist是否已发送先前警报的数据。如果不是那么它会在那时发送它。所以这只是一种方式。

答案 1 :(得分:-2)

警报视图需要设置委托(通常是自己)才能接收事件。