我正在研究從服務器接收消息的應用程序。收到消息時,會顯示通知。當收到第二條消息時,它應該堆疊而不是創建一個全新的通知。Android通知不會堆棧
我創建了一個接口,該接口擁有一個將在收到消息時運行的方法。
Server
對象是接收消息的地方,構造函數接受上面提到的接口。
當我初始化服務器對象時,我傳遞了偵聽器接口的一個新實例,其中重寫的方法創建通知。思考過程是每次創建新通知時,我都將NEW_POST_NOTI
整數增加1,並將其添加到組中。
我的代碼如下所示:
final int PUSHES_GROUP = 67;
int NEW_POST_NOTI = 56;
...
Server server = new Server((msg) -> {
nm = NotificationManagerCompat.from(ctx);
Notification noti = new NotificationCompat.Builder(ctx)
.setSmallIcon(R.drawable.ic_noti)
.setContentTitle("New Message")
.setContentText(msg)
.setGroup(PUSHES_GROUP)
.build();
nm.notify(NEW_PUSH_NOTI++, noti);
});
這相同的代碼運行每次收到消息的時間,但對於每一個消息,而不是創建它們分組單獨通知。我也嘗試使用setStyle
使其成爲InboxStyle
,但我不確定如何動態地向其添加通知。我的邏輯是否存在問題,或者我是否錯誤地使用Notification API?
分組是針對android磨損的。對於android手持設備,請使用帶有行和摘要的收件箱樣式:https://developer.android。com/training/wearables/notifications/stacks.html#AddSummary – njzk2
你是對的。不像我想象的那麼容易,但相當簡單。 – Plays2