iPhone:推送通知后如何删除徽章?

obl*_*iux 40 iphone xcode push objective-c

删除应用图标上的徽章的代码是什么?当我收到推送时,我需要在单击按钮时将其删除!

Fel*_*xyz 95

objC:

[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
Run Code Online (Sandbox Code Playgroud)

迅捷:

UIApplication.sharedApplication().applicationIconBadgeNumber = 0;
Run Code Online (Sandbox Code Playgroud)

  • 如果你使用像Parse.com这样的API(我当时),你可能还需要将远程数据库更新为"0".否则在本地设置将隐藏徽章,但在下次推送时,徽章将不会显示0,而是显示旧值+1.像这样的人看到http://stackoverflow.com/questions/13757285/clear-push-notification-badge-after-increment (2认同)

小智 9

您可以通过在代码中添加以下行来从推送通知中删除徽章

(void)applicationDidBecomeActive:(UIApplication *)application
{
    [[UIApplication sharedApplication] cancelAllLocalNotifications];
    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
}
Run Code Online (Sandbox Code Playgroud)


Hlu*_*ung 7

对于iOS5,只设置徽章编号不会删除通知中心的推送通知.你必须这样做......

[[UIApplication sharedApplication] cancelAllLocalNotifications];
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
Run Code Online (Sandbox Code Playgroud)

我已经测试了这个.看起来cancelAllLocalNotifications方法也适用于通知中心的推送通知.