我想在收到通知时增加徽章计数,而在用户点击或打开应用程序时减少徽章计数。

我也尝试使用此代码,但是它不起作用。

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

ios - 收到推送通知后如何处理应用图标徽章计数?-LMLPHP

最佳答案

据我所知,应用程序将数字作为您在此{“aps”:{“badge”:9}}词典中发送的徽章计数显示为徽章值。

您在此方法中设置的内容

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

当您通过点击远程通知来打开应用程序时设置该标志,这在逻辑上是不写的,因为在您打开应用程序时要设置徽章计数。

您必须在aps词典中传递徽章值,并且在打开应用程序时可以重置徽章计数(在didFinishLaunchingwithOption方法中)。

除此之外,没有任何方法可以在收到推送通知并且应用程序已经处于kill模式(根本无法打开)后立即在设置徽章计数的应用程序代码中编写。

关于ios - 收到推送通知后如何处理应用图标徽章计数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37372548/

10-13 03:26