从通知中心删除单个远程通知

时间:2012-03-29 12:59:50

标签: ios ipad push-notification

我的应用从Apple服务器收到远程通知。

当用户点击通知中心时,是否可以从通知中心(iOs 5.0+提供的下拉菜单)中删除单个远程通知?

enter image description here

谢谢!

3 个答案:

答案 0 :(得分:27)

从iOS SDK 5.0开始,无法删除特定通知。从您的应用中删除所有通知以便用户在其中一个用户打开应用时不会在通知中心中显示的方法是将应用徽章设置为0,如下所示:

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;

编辑:在iOS 8上,当您在通知中心点击通知以打开应用时,SpringBoard似乎会自动解除通知。

答案 1 :(得分:8)

这是一个建议,虽然它确实有它的缺点,我自己没有尝试过:

  • 推送无声通知(contentAvailable:true),不要包含"提醒"在推送内,将警报文本放在推送的自定义属性中
  • 处理传入的推送并触发本地通知,立即显示
  • 如果用户点击本地通知,请使用[UIApplication cancelLocalNotification:],该通知将删除通知中心的通知。

答案 2 :(得分:2)

调用方法时: [application cancelAllLocalNotifications]; 在AppDelegate方法中:

  

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

  

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

将针对特定应用删除所有本地和推送通知。