【问题标题】:How to stack notifications on Jelly Bean?如何在果冻豆上堆叠通知?
【发布时间】:2012-08-17 14:22:07
【问题描述】:

my previous notification problems 之后,我想测试Jelly Bean 4.1 的新通知堆栈功能,正如here 所描述的那样。我已经发现,通知需要具有不同的 ID,否则旧通知将仅使用第二个通知的内容进行更新。如果我使用不同的 ID,我的通知将只是一个列表:

小图标是用 setSmallIcon() 设置的(见我在上面的屏幕截图中的第一个通知),而较大的图标是用 setLargeIcon() 设置的。我无法控制的是何时显示待处理通知的数量。它不受我的另一个问题中提到的text lines 控制。

所以我的猜测是,Jelly Bean 会自动处理多个通知,但我该如何触发呢?也许有人可以在文档中给我一段代码或提示。

【问题讨论】:

    标签: android notifications android-4.2-jelly-bean


    【解决方案1】:

    您在问题中写下了答案:“否则旧通知将仅使用第二个通知的内容进行更新”。但是,您的应用程序需要知道“第二个通知”应该显示什么,以涵盖自用户上次与您的应用程序交互以来的所有事件。然后,“第二个通知”可以包含有关这两个事件的信息,而不仅仅是第二个。

    【讨论】:

    • 好的,所以我需要使用 FragmentManager 跟踪显示的通知吗?右下角小图标旁边的 Number Pending 呢?它是摘要文本的一部分还是自定义布局?见!Number Pending in the Android Design Guide
    • @MarkusRudel:“所以我需要使用 FragmentManager 跟踪显示的通知?” -- 我不确定FragmentManager 在这里扮演什么角色。 “小图标旁边右下角的待处理号码呢?” -- 理论上,这就是Builder 中的setNumber() 值。实际上,该数字并未显示在所有设备上。
    • 哦该死的,我指的是 NotificationManager。一定是热度。这一定也是我一直监督 setNumber() 的原因。因此,该应用程序必须处理未读事件的数量,并且只为最终存在的通知触发更新,否则它将显示一个新通知。谢谢!
    【解决方案2】:

    您必须对所有通知使用相同的通知 ID,然后只需使用新的静态编号更新每个通知。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-20
      • 1970-01-01
      • 2013-08-08
      • 2013-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多