2014-03-07 73 views
1

我正在android中实现推送通知,我需要做的是显示具体的通知数量是通知栏。假设我必须显示最近的5个通知。我收到5条通知并显示出来。收到第6条通知后,我必须丢弃最旧的通知等。 此外,我不想折叠通知,但将每个通知显示为单独的通知。如何在android中显示特定数量的通知

编辑:

有一个在NotificationManager能够使用的功能。

void cancel(int id) 
Cancel a previously shown notification. 

并检查您的应用的通知栏中仍有多少通知仍可见。可以使用名为getActiveNotifications()的nNotificationListenerService方法。但是仍然存在一个问题,即在Android API 18以及更多版本中存在getActiveNotifications()。任何解决方案API级别< 18?

+0

如果您将它投票为-1,您应该留下评论,以便我可以改进我的问题,如果它对您不合理。 – Adnan

+0

你应该阅读SO的常见问题,你到目前为止尝试过什么? – Selvin

+0

我已阅读关于GSM和通知的Android开发人员的完整文章。然后实施它端到端。问题是如果我收到更多的通知,然后是特定的号码,请删除最旧的通知。 – Adnan

回答

2

,你可以很容易地取消的通知,通过提供该通知的ID: 然而http://developer.android.com/reference/android/app/NotificationManager.html#cancel(int)

,您还可以通过重用ID更新通知,您不必取消它。

我的攻击计划是迭代5个预定义的ID来创建通知,然后在第六次通知中重新使用“最老的”ID。这将用新的通知替换最旧的通知。

+0

谢谢,好主意..诀窍是,我怎么知道用户取消了多少通知,以及通知栏中还有多少通知? – Adnan

+0

好吧,因为getActiveNotifications仅适用于18+(或19?)我认为你可能不得不使用删除意图来追踪它们 - http://developer.android.com/reference/android/app/Notification.Builder的.html#setDeleteIntent%28android.app.PendingIntent 29% – nebulae