0

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

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

谢谢

4

2 回答 2

2

您可以更新通知内容。这是执行此操作的文档http://developer.android.com/guide/topics/ui/notifiers/notifications.html#Updating

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

于 2012-11-27T01:48:47.453 回答
1

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

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

我不知道这种行为是否得到保证,文档似乎有点含糊。还有一个恼人的后果是通知在抽屉中的位置受此影响,因此这个答案根本不理想。

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

于 2015-11-01T13:10:18.200 回答