根据ios中的未读消息更新应用程序图标的徽章数量

时间:2014-04-08 12:54:24

标签: ios objective-c

我需要将未读的计数值作为徽章编号。应用程序图标的徽章编号必须根据未读邮件计数减少和增加。(如果新未读邮件增加,如果读取未读邮件则减少)

- > [" Unread"是未读消息的数量。]

NSString *unread =[[NSUserDefaults standardUserDefaults]valueForKey:@"unread"];                 
int badge = [unread intValue];
[UIApplication sharedApplication] setApplicationIconBadgeNumber:badge];

1 个答案:

答案 0 :(得分:1)

通常,当您以下列形式收到JSON时,操作系统会设置徽章编号:

{
    "aps" : {
        "alert" : "New notification!",
        "badge" : 2
    }
}

因此,服务器会设置徽章编号,这意味着您必须跟踪用户拥有的通知数量。

在客户端,你必须清除这样的通知:

application.applicationIconBadgeNumber = application.applicationIconBadgeNumber - 1; // Decrement counter

或者您可以将它们全部设置为0并假设一旦打开应用程序就会读取它们,如下所示:

application.applicationIconBadgeNumber = 0;