取消本地通知时如何移除应用图标上的数字标记

5

我正在开发一款提醒应用程序。我正在使用本地通知,目前一切正常。但是在我的应用程序图标上始终显示着一个徽章数字。在触发本地通知后如何删除徽章数字?当我在did finish launching中放置[UIApplication sharedApplication].applicationIconBadgeNumber = 0;时,徽章数字完全被移除。

3个回答

6
无论何时在App delegate的didReceiveLocalNotification方法中触发通知, 您都可以将计数减少一,并在添加新通知时将计数增加一。
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {

    [UIApplication sharedApplication].applicationIconBadgeNumber=application.applicationIconBadgeNumber-1;
}

干杯


6
我猜你希望删除徽章图标上的"badgeNumber"并仅显示一个空的(没有任何数字的)徽章图标。但是,您不能仅仅从徽章图标中删除徽章数。如果将"applicationIconBadgeNumber"设置为"0",则应用程序图标上的徽章图标本身将被删除。
如果要显示徽章,则应该显示数字,而不是"0"。"0"是指删除徽章图标。

2
我尝试了相同的事情并发现以下内容:
当应用程序在后台运行时,您尝试将LocalNotification设置为0将无法删除IconBadgeNumber。您需要将IconBadgeNumber设置为-1。
    UILocalNotification *localSilentNotif;
    localSilentNotif.applicationIconBadgeNumber = -1;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接