【发布时间】:2016-11-23 00:46:33
【问题描述】:
我正在开发一个从服务器接收消息的应用程序。收到消息时,会出现通知。当收到第二条消息时,它应该堆叠而不是创建一个全新的通知。
我创建了一个接口,该接口具有一个在收到消息时将运行的方法。
Server对象是接收消息的地方,构造函数接受我上面提到的接口。
当我初始化服务器对象时,我传递了一个侦听器接口的新实例,其中被覆盖的方法会创建通知。思考过程是,每次创建新通知时,我都会将NEW_POST_NOTI 整数加一并添加到组中。
我的代码如下所示:
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,但我不确定如何动态添加通知。是我的逻辑有问题还是我只是错误地使用了通知 API?
【问题讨论】:
-
分组适用于安卓穿戴。对于安卓手持设备,使用带有线条和摘要的收件箱样式:developer.android.com/training/wearables/notifications/…
-
你是对的。没有我想象的那么简单,但相当简单。
标签: android notifications