iphone - 以编程方式从通知托盘中删除 UILocalNotification

标签 iphone objective-c ios uilocalnotification

有没有办法以编程方式从通知托盘中删除/关闭 UILocalNotification。 我能够取消从中删除通知的通知

[[UIApplication sharedApplication] scheduledLocalNotifications]

这是我需要做的

我需要在执行操作后(即在用户点击通知后)从 NotificationTray 中关闭 UILocalNotification

编辑: 我可以从 NSNotificationCenter 中删除通知。我想从 Notification Tray 中删除特定通知。就像用户按下清除按钮以清除属于特定应用程序的所有通知一样。

最佳答案

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

[[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/

相关文章:

ios - 如何减小 UITableViewCell 中 ContentSize 的宽度

ios - 在 sqlite ios NULL cString' 中出现错误?

objective-c - 如何将字符串作为 UIButton 的标签传递

ios - 未调用 dealloc 进行控制

ios - 用于 iOS 推送通知的 PHP,有时超过 1 台设备

ios - 如何使用for循环创建UIImageView动态网格?

iphone - iO 上有好的缓存模式吗?

ios swift - 键盘(掩盖文本字段等)和其他一些小部件的问题

ios - 具有嵌套 PerformBlock 的核心数据

iphone - iOS 通用应用程序 - 常见陷阱