2014-03-07 77 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