如果我有两个(或更多)UILcalNotifications 或多或少地同时触发并且应用程序在后台处于事件状态,我发现:
- 同时向用户显示两个警报,一个覆盖另一个。
- 当用户触摸顶部提醒上的“查看”时,该提醒将从屏幕上删除,并为此通知调用 didReceiveLocalNotification,并且应用程序进入前台。
- 一旦顶部警报从屏幕上移除(并且应用程序已位于前台),用户就会看到其下方的警报。
- 但是,如果用户也触摸此警报的“查看”,则不会发生任何情况。第二个通知不会调用 didReceiveLocalNotification,应用程序无法知道用户是否也想查看此通知。
如果当两个通知触发时应用程序恰好位于前台,则没有问题 - 两个通知都会调用 didReceiveLocalNotification,一个接一个(在这种情况下不会显示警报)。
在上述情况下,有没有办法获得有关“查看”确认的通知?我做错了什么吗?
最佳答案
实际上,之前的通知不会调用 didReceiveNotification 委托(delegate)方法(如果应用程序在后台弹出两个或多个通知,则调用任何其他方法)。但您可以根据需要跟踪之前的通知。
例如,如果您有一个应用程序在单击通知 View 时将数据发送到服务器,则每天将数据保存到 plist 中(并每天编辑),通过"is"或"is"或“否”,因此当收到通知时,应用程序会检查 plist 是否已发送先前警报的数据。如果没有,那么它会在那时发送。所以这只是一种方式。
关于iphone - 多个同时发生的 UILocalNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892844/