ios - 根据ios中的未读消息更新应用程序图标的角标(Badge)计数

标签 ios objective-c

我需要未读的计数值作为角标(Badge)编号。应用程序图标的角标(Badge)编号必须根据未读消息计数减少和增加。(如果有新的未读消息则增加,如果未读消息被读取则减少)

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

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

最佳答案

通常当您收到以下形式的 JSON 时,操作系统会设置角标(Badge)编号:

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

因此服务器设置角标(Badge)编号,这意味着您必须跟踪用户有多少通知。

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

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

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

application.applicationIconBadgeNumber = 0;

关于ios - 根据ios中的未读消息更新应用程序图标的角标(Badge)计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22937725/

相关文章:

ios - 如何使用 swift (iOS) 从特定的 gamecenter 排行榜中获取前 10 名的分数

ios - Xcode 5 错误 : Unable to create directory/projectname. build/Objects-normal/i386

ios - 如何扩大 MPVolumeView 路由按钮区域?

ios - ScrollView 错误行为之上的 TableView

objective-c - 当 Core Data 中的主队列发生变化时刷新私有(private)队列

objective-c - 此 View 动画概念的正确干净且线程安全的设计

iOS 9 : Black Background on buttons, 和某些设备上的性能错误

ios - 跟踪 iPhone 数据使用情况

ios - 一个实体的 NSManagedObjectContextObjectsDidChangeNotification

iphone - 来自 NSString 的 NSDate,如 HH :mm