首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何取消通知中心的通知,即推送通知

如何取消通知中心的通知,即推送通知
EN

Stack Overflow用户
提问于 2013-10-07 12:04:25
回答 3查看 4.1K关注 0票数 2

我正在开发具有推送通知和本地通知的iOS应用程序,我知道如何从中心删除1和所有通知,

使用

代码语言:javascript
复制
[[UIApplication sharedApplication]cancelAllLocalNotifications];

但我的问题是如果我安排了一些本地通知,

并且到达了一个推送通知,所以在didReceiveRemoteNotification中我正在编写

[[UIApplication sharedApplication]cancelAllLocalNotifications];为透明通知中心,

但我所有的LocalNotification都被清除了.

编辑,如果NC中总共有3条通知,即1来自本地通知,2来自推送(来自服务器),在这种情况下,我如何处理它?我是点击第一次通知(来自服务器)在NC。在这种情况下,该做什么,我的应用程序徽章应该是2。

那我该怎么办?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-07 12:14:02

cancelAllLocalNotifications只会取消本地通知,即使在名称中也是如此!而不是您可以在文档中读到的推送通知:

取消所有计划本地通知的传递。

由于推送通知是服务器端的,所以在应用程序中需要取消。要从通知中心删除推送通知,只需将applicationBadegNumber设置为0。

票数 3
EN

Stack Overflow用户

发布于 2013-10-07 12:49:47

有一个选项,每个通知都包含一个字典,所以当您创建任何本地通知时,在字典中添加指定此通知用于本地notification.so的任何键时,您可以检查如果它不是我的本地通知,那么我将删除它。

代码语言:javascript
复制
 -(void)scheduleLocalNotification{
    [self cancelAlarm]; //clear any previous alarms
     UILocalNotification *alarm = [[UILocalNotification alloc] init];
    alarm.alertBody = @"alert msg";
     alarm.fireDate = [NSDate dateWithTimeInterval:alarmDuration sinceDate:startTime]; 
    alarm.soundName = UILocalNotificationDefaultSoundName; 
   NSDictionary *userInfo = [NSDictionary dictionaryWithObject:@"localNotification"  forKey:@"localNotification"];
   alarm.userInfo = userInfo;
    [[UIApplication sharedApplication] scheduleLocalNotification:alarm];

}

代码语言:javascript
复制
 -(void)cancelNotification{
for (UILocalNotification *notification in [[[UIApplication sharedApplication] scheduledLocalNotifications] copy]){
    NSDictionary *userInfo = notification.userInfo;
    if (![self.key isEqualToString:[userInfo objectForKey:localNotification]]){
        [[UIApplication sharedApplication] cancelLocalNotification:notification];
    }
}

}

票数 2
EN

Stack Overflow用户

发布于 2013-10-08 16:45:59

应用程序编号由您管理。删除计划通知不会更改该编号。你必须自己处理。我刚才做了个演讲也许会有帮助。http://www.youtube.com/watch?v=ixQqZWtn0pg在11:50开始收看。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19224434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档