【问题标题】:Android: How to consolidate multiple notification icons in androidAndroid:如何在 android 中合并多个通知图标
【发布时间】:2012-11-27 01:38:20
【问题描述】:

我正在编写一个应用程序,我将通知从服务器推送到客户端。如果服务器向用户推送了许多通知消息,我看到通知栏中显示了多个应用程序通知图标(其中还有其他图标,如电池、连接等)。 我想限制它,但我仍然想在通知抽屉中保留通知(在下拉窗格中)。

我尝试取消 notificationManager.cancel(int id),但它会从通知抽屉中删除通知以及通知栏。是否有任何额外的标志或任何 api 来解决这个问题?

谢谢

【问题讨论】:

  • 看看 Stack Your notifications 部分:developer.android.com/design/patterns/notifications.html 你不应该在下拉菜单中创建多个单独的通知,这违反了 android 设计指南。
  • 这可能是违反指南的情况,但我正在编写一个供我个人使用的应用程序,其中通知用作提醒执行各种任务,所以我真的希望在我的抽屉(这样我可以在执行任务时刷掉相关通知),但我的栏中只有一个图标。这甚至可能吗?如果不是,那么我应该如何实现我想要的?有没有另一种思考方式?我的应用程序的一个关键点是,对于不同的 TODO 任务,我会收到不同的通知:在这种特殊情况下,我真的不想要一个“堆叠”的通知。

标签: android notifications icons


【解决方案1】:

您可以更新通知内容。以下是相关文档http://developer.android.com/guide/topics/ui/notifiers/notifications.html#Updating

这就是 SMS/Whatsapp/gmail 的作用。如果只有一条消息,他们会显示它的内容,否则他们会显示未读消息的数量和/或写这些消息的人数。关键是他们在状态栏上只有一个通知,并且他们一直使用同一个通知,直到用户进入应用程序。

【讨论】:

    【解决方案2】:

    正如已经指出的那样,这严格来说是违反 android 设计准则的。然而,指导方针并不总是在每种情况下都是正确的,在我看来,这样做是可能的,至少对于某些版本的 Android 而言。

    在 4.4 和 6.0(我没有测试其他版本)中,一些测试似乎表明如果通知优先级设置为 PRIORITY_MIN,则图标不会出现在通知栏中,但会出现在抽屉中。

    我不知道这种行为是否得到保证,docs 似乎有点模糊。还有一个烦人的后果就是通知在抽屉里的位置会受这个影响,所以这个答案一点也不理想。

    我希望为那些因为特定设计要求而主动选择不遵守指南的人提供更好的解决方案。

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 1970-01-01
      • 2011-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多