如何检索通知以更新它



所以,每当有人创建帖子时,我希望其他人得到通知。因此,我发出通知。

我知道用setNumber(int num)设置数字的后勤工作,以及如何创建一个InboxStyle来显示多个帖子。

问题是,如果收到新通知,它不知道是否存在另一个通知。我不能只是通过我分配它的notification_id请求该通知,然后附加一个带有addLine(String string)的字符串,也不能使用上面的 setNumber 方法更新帖子数。我是创建通知的新手,我一直在阅读有关 InboxStyle 的信息,使用它,但每个指南都遗漏了如何与通知是否仍然保持同步,以及如何更新它。他们把它当作一件小事不理会。

是的,我知道可以通过NotificationManager.notify(int, notification)方法更新通知,但除非您重新创建新通知的外观,否则它只会覆盖您当前的通知。

关于如何简单地更新通知,我是否缺少或不了解什么?

您不应该尝试"与该通知是否仍然保持同步"。Notification应反映数据模型的内容,并且应在数据模型更改时进行更新。

例如,假设您正在编写电子邮件客户端。您希望未读邮件Notification。当没有未读邮件时,您没有Notification。当后台逻辑检索新消息时,更新数据存储以反映这些消息,并调用某个heyLetTheUserKnowBoutDemEmails()方法。该方法查询数据存储,找出有多少未看到的消息,并根据数据存储中的内容调用notify() NotificationManager以发布合适的Notification,使用 setNumber()addLine() 等。是否碰巧已经有Notification,对于以前的一些heyLetTheUserKnowBoutDemEmails()电话,无关紧要。当用户响应Notification或以其他方式打开收件箱时,您的 UI 将更新数据存储以将消息标记为已显示(即不再需要通知)并清除Notification。起泡,冲洗,重复。

所以,与其说这是

一件"小事",不如

说是:
  • 这只是一个替换现有Notification的问题,并且

  • 何时应替换现有Notification的规则几乎完全取决于您的应用及其业务规则,这些规则超出了Android文档和许多博客文章,Stack Overflow答案等的范围。

最新更新