当我单击一个通知时从列表中删除所有推送通知

Posted

技术标签:

【中文标题】当我单击一个通知时从列表中删除所有推送通知【英文标题】:Removing all push notifications from list when i click on one notification 【发布时间】:2012-11-01 21:37:10 【问题描述】:

我正在实现一个支持苹果推送通知的应用程序。如果我从苹果服务器收到三个通知,那么在 iphone 中,通知列表将显示三个通知,如果我选择其中任何一个通知将根据通知。如果我在 iphone 通知列表中检查剩余的两个通知,则没有推送通知可查看。通知列表显示 没有新通知

而且我的应用程序是通用应用程序。推送通知在带有 ios6 的 iphone4 和 iphone5 中工作正常,但在带有 ios5 的 ipad1 中无法正常工作。

请帮助我。

提前致谢。

【问题讨论】:

【参考方案1】:

当用户在通知中心点击通知时,该方法在 App Delegate 上触发:

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

    // You could use the following methods calls:

        // To remove the notifications in Notification Center:
        [[UIApplication sharedApplication] cancelAllLocalNotifications];

        // To set the badge (0 is no badge at all):
        [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];

如果您想在用户“正常”返回而不使用通知时也删除通知,请将方法调用添加到:

- (void)applicationWillEnterForeground:(UIApplication *)application 

我认为不可能只取消一个通知,请查看this post 了解更多信息。


你用谷歌搜索过这个 iPad 问题吗?我搜索了一下,发现其他人也有同样的问题。事实证明通知正在工作,但您看不到它们出现在锁定屏幕上。查看以下主题:

https://discussions.apple.com/thread/3374403?start=0&tstart=0 https://discussions.apple.com/message/16343436#16343436

或者尝试谷歌一下:https://www.google.nl/search?q=ipad+1+notification+center

【讨论】:

您好 Tieme,感谢您的回复。如果我写了 [[UIApplication sharedApplication] cancelAllLocalNotifications];那么所有的通知都会被删除,对吧? 嗨,没错。确保将其放置在正确的方法中,并检查它是使用 NSLog 还是断点调用的。 我不想一次取消所有通知。它将根据用户在通知列表中选择通知而取消。 Tieme,非常感谢您为我提供了很多宝贵的信息。 让我们continue this discussion in chat

以上是关于当我单击一个通知时从列表中删除所有推送通知的主要内容,如果未能解决你的问题,请参考以下文章

单击时从通知中心删除通知

Phonegap 从后台推送通知 OnResume,它会从托盘中删除我的所有通知

当我的应用程序处于后台或关闭时,当远程推送通知到达时从有效负载中获取数据

Android:在应用程序关闭时从后台推送动态通知

Xamarin android-应用关闭时推送通知单击删除 SQLite 数据

当我删除应用程序时推送通知