是否可以在收到通知时增加徽章值.或者我应该将计数作为有效载荷发送?

如果我每次都以"1"的形式发送徽章值,如果应用程序未打开,我如何增加应用程序图标中的徽章值.

我使用过这个代码,但不起作用.

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
{
    [UIApplication sharedApplication].applicationIconBadgeNumber = [UIApplication sharedApplication].applicationIconBadgeNumber + 1; 
}

推荐答案

通常在所有应用程序中,未读通知计数都保存在服务器中.当服务器向特定设备令牌发送推送通知时,它们会将徽章计数与有效负载一起发送.一旦设备收到通知且你的应用程序处于后台(或被杀死),操作系统会自动将徽章计数更新为你的应用程序图标.如果你的应用程序正在运行,你会在

application:didReceiveRemoteNotification:

委托,这样您就可以从(NSDictionary*)用户信息接收徽章计数.因此,您可以使用该功能更新应用程序图标徽章计数

[UIApplication sharedApplication].applicationIconBadgeNumber = [[[userInfo objectForKey:@"aps"] objectForKey: @"badgecount"] intValue];

我觉得这应该对你有帮助.

Objective-c相关问答推荐

Objective-C - 将浮点数转换为字符串的其他方法

将长按手势和拖动手势结合在一起

以编程方式调用情节提要场景(无需转场)?

iOS:将 URL 解析为段

如何与 UITableView 一起滚动标题?

Objective-C 的 Eclipse 插件?

失go 对 UITextView 的关注时隐藏键盘

自定义 UISwitch 和 App Store 批准

如何在iphone的objective-c中以编程方式调整图像大小

如何以编程方式移动 UIScrollView 以集中在键盘上方的控件中?

在 switch 语句中使用 NSString

以编程方式查找 iphone 的语言环境货币

Objective-C 中的 NSString indexOf

-fembed-bitcode 在 6.0 之前的 iOS 版本上不受支持

创建 NSTextField标签的示例代码?

UIView: opaque vs. alpha vs. opacity

UIImageView 并不总是为模板图像着色

判断 UIViewController 是否即将从导航堆栈中弹出?

如何在 iPhone SDK 中包含和使用新字体?

使用 [NSDate date] 获取当前日期和时间