有没有一种方法可以通过编程方式从通知托盘中删除/关闭UILocalNotification
我可以取消通知,该通知会将通知从

[[UIApplication sharedApplication] scheduledLocalNotifications]

这是我需要做的

执行完 Action 后(即用户点击通知后),我需要从NotificationTray中删除UILocalNotification
编辑:
我可以从NSNotificationCenter删除通知。我想从通知托盘中删除特定的通知。就像用户按下清除按钮以清除属于特定应用程序的所有通知一样。

最佳答案

您可以使用以下方法取消所有通知:

[[UIApplication sharedApplication] cancelAllLocalNotifications];

如果要删除特定的通知,则可以使用通知对象的userinfo,在创建本地通知时,向该对象添加唯一的ID。以后,您可以使用该ID删除本地通知。

为此,您可以使用以下代码:
NSString *notificationId = @"id_to_cancel";
UILocalNotification *notification = nil;
for(UILocalNotification *notify in [[UIApplication sharedApplication] scheduledLocalNotifications])
{
  if([[notify.userInfo objectForKey:@"ID"] isEqualToString:notificationId])
  {
     notification = notify;
     break;
  }
}
[[UIApplication sharedApplication] cancelLocalNotification:notification];

关于iphone - 以编程方式从通知托盘中删除UILocalNotification,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14142434/

10-09 01:49
查看更多