我有一个应用程序,当用户在应用程序上输入的特定事件发生时会生成通知。现在例如用户输入了 7 个事件并且他没有点击通知然后通知栏将变满。我不想要那个。我只想显示一个通知图标,但要显示所有 7 个通知。就像只显示 1 个通知图标的 whatsapp
一样。
最佳答案
我猜你正在看的是通知的“堆叠”。
这里有几个重要的 API。
1. setGroup()
:这会将通知设置为一组共享相同 key 的通知的一部分。
2 .setGroupSummary()
:将此通知设置为一组通知的组摘要。
此外,我们需要具有相同的通知生成器 ID。以下是我在类里面的声明:
final static String GROUP_KEY_EMAILS = "group_key_emails";
int UNIQUE_NOTIFICATION_ID=422;
和发布通知的示例代码:
Notification summaryNotification = new NotificationCompat.Builder(context)
.setContentTitle("2 new messages")
.setSmallIcon(R.drawable.ic_launcher)
.setStyle(new NotificationCompat.InboxStyle()
.addLine("Notification 1 First line of info")
.addLine("otification 2 Second line of info")
.addLine("otification 3 Second line of info")
.setBigContentTitle("3 new messages")
.setSummaryText("yourid@gmail.com"))
.setGroup(GROUP_KEY_EMAILS)
.setGroupSummary(true)
.build();
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
notificationManager.notify(UNIQUE_NOTIFICATION_ID, summaryNotification);
这将显示如下 UI:
关于android - 在android中处理多个通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28276606/