我的应用程序从Apple服务器接收远程通知 .
有没有办法从通知中心(iOs 5.0提供的下拉菜单)中删除单个远程通知,当用户点击它时?
谢谢!
这是一个建议,虽然它确实有它的缺点,我自己没有尝试过:
推送静默通知(contentAvailable:true),不要在推送中包含"alert",将警报文本放在推送的自定义属性中
处理传入的推送并触发本地通知,立即显示
如果用户单击本地通知,请使用[UIApplication cancelLocalNotification:],该通知应从通知中心删除通知 .
从iOS SDK 5.0开始,无法删除特定通知 . 从用户打开应用程序时,从应用程序中删除所有通知以便用户无法在通知中心显示的方法是将应用程序徽章设置为0,如下所示:
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
EDIT: on iOS 8, SpringBoard seems to be automatically dismissing a notification when you tap on it on the Notification Center to open the app.
当你在AppDelegate方法中调用方法: [application cancelAllLocalNotifications]; 时:
[application cancelAllLocalNotifications];
(BOOL)应用程序:(UIApplication *)应用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
和
(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
3 回答
这是一个建议,虽然它确实有它的缺点,我自己没有尝试过:
推送静默通知(contentAvailable:true),不要在推送中包含"alert",将警报文本放在推送的自定义属性中
处理传入的推送并触发本地通知,立即显示
如果用户单击本地通知,请使用[UIApplication cancelLocalNotification:],该通知应从通知中心删除通知 .
从iOS SDK 5.0开始,无法删除特定通知 . 从用户打开应用程序时,从应用程序中删除所有通知以便用户无法在通知中心显示的方法是将应用程序徽章设置为0,如下所示:
EDIT: on iOS 8, SpringBoard seems to be automatically dismissing a notification when you tap on it on the Notification Center to open the app.
当你在AppDelegate方法中调用方法:
[application cancelAllLocalNotifications];
时:和
将针对特定应用删除所有本地和推送通知 .