如何在 iphone 中删除单个远程通知
Posted
技术标签:
【中文标题】如何在 iphone 中删除单个远程通知【英文标题】:How to remove Single Remote notification in iphone 【发布时间】:2013-08-10 06:32:01 【问题描述】:我正在开发支持服务器端推送分数通知和获胜通知、用户游戏请求的游戏。
通知读取和响应存储到设备端一切正常。但是当通知推送到通知中心时。当我当时点击通知时,它会使用以下代码从通知中心删除所有推送通知:
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:1];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
但我想从通知中心删除选定的远程通知。
有什么方法可以删除单个远程通知。请帮助我。
提前致谢。
【问题讨论】:
【参考方案1】:取消本地通知
如果您有办法获得对要取消的特定 UILocalNotification 实例的引用,可以在其上调用cancelLocalNotification:
。
尝试遍历所有计划的通知,以便通过以下方式获取该引用:
NSArray *scheduledNotifications = [[UIApplication sharedApplication] scheduledLocalNotifications];
取消远程通知
这完全取决于服务器,如果没有服务器端适当的 API 就无法完成。
【讨论】:
我在以下方法中使用上面的代码: - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 但它给我的数组值为null。 我认为您混淆了两个完全不同的事情:您不能取消计划的远程推送通知(它计划在服务器上) - 您只能取消本地通知。 当从服务器端触发通知时,如果当时有超过 1 个单个应用程序的通知,它会在我们的设备通知中心触发。当我当时选择单个通知时,我需要从通知中心删除所选通知。 哦,好的,抱歉。我误解了这个问题。以上是关于如何在 iphone 中删除单个远程通知的主要内容,如果未能解决你的问题,请参考以下文章