【问题标题】:Clear Application's badge Number清除应用程序的徽章编号
【发布时间】:2013-07-31 20:34:36
【问题描述】:

我已在 iphone 应用程序中发出本地通知。并设置图标徽章编号。

一切正常。但是,如果我在托盘中有两个通知并且用户单击清除按钮,则通知会从托盘中删除。

但图标的徽章编号保持不变。

我想将徽章编号设置为零。

谢谢。

【问题讨论】:

  • 您可以在应用启动时设置图标徽章编号。
  • 是的。但是我想在用户清除托盘时重置它。这可能吗?
  • [UIApplication sharedApplication].applicationIconBadgeNumber=0;
  • 不,您不能在不打开应用程序的情况下设置图标徽章编号。
  • 其实可以。但您需要使用推送通知 [developer.apple.com/library/content/documentation/…

标签: iphone ios uilocalnotification badge tray


【解决方案1】:

在应用程序 didfinshlaunchingwithoptions 中使用它

        application.applicationIconBadgeNumber = 0;

【讨论】:

  • 我想在您点击托盘上的清除按钮时清除徽章编号
【解决方案2】:

对于 Swift3,您可以在应用程序中清除徽章编号 didFinishLaunchingWithOptions 使用此行:

UIApplication.shared.applicationIconBadgeNumber = 0

如果你愿意,你也可以在代码中的任何地方使用这一行。

【讨论】:

  • 我遇到的问题是,即使我用上面的代码删除了徽章编号,如果来自徽章编号的新消息不是从 1 开始,而是 x+1,其中 x 是前一个消息的数量。这可能是什么问题?
【解决方案3】:

只有使用服务器通知才能实现您想要实现的目标。您无法在不打开应用程序的情况下在本地设置徽章编号。因为当用户清除托盘时您将无法控制。那时您无法设置徽章数量。

【讨论】:

  • 应用启动时是否可以让托盘有任何通知?
  • @Impossible 不,没有办法。在那一刻你无法控制。
  • 所以,要清楚 Rushi,你的意思是 @Impossible 想要做的事情是不可能的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-10
  • 2011-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多