所以,每当有人创建帖子时,我希望其他人得到通知。因此,我发出通知。
我知道用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答案等的范围。