取消本地通知时删除徽章编号

时间:2011-08-20 05:56:15

标签: iphone objective-c ios

我正在开发一个提醒应用。我正在使用本地通知。它工作正常。但是徽章编号始终显示在我的应用程序图标上方。如何在解除本地通知后删除徽章编号?当我将[UIApplication sharedApplication].applicationIconBadgeNumber = 0;放入完成启动时,徽章编号将被完全删除。

3 个答案:

答案 0 :(得分:6)

每当在App代理中发出通知时,didReceiveLocalNotification方法被触发 您可以减少一个计数,并在添加新通知时添加一个。

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification {

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

干杯

答案 1 :(得分:6)

我猜你是想从徽章图标中删除badgeNumber,只显示一个空的(没有任何数字)徽章图标。 您不能仅从徽章图标中删除徽章编号。如果您将applicationIconBadgeNumber设置为0,徽章图标本身将从应用程序图标中删除。

如果要显示徽章,则应该有一个数字,而不是00旨在删除徽章图标。

答案 2 :(得分:2)

我尝试了同样的事情,我发现了这个:

当应用程序在后台并且您尝试将LocalNotification设置为0时,它将不会删除IconBadgeNumber。你需要将IconBadgeNumber设置为-1。

    UILocalNotification *localSilentNotif;
    localSilentNotif.applicationIconBadgeNumber = -1;