当多封邮件逐一到达时,Gmail会对它们进行分组,并在通知区域只显示一条通知消息。我想做同样的事情。我搜索了Google,发现我需要设置tag
,但设置相同的tag
只是替换了前一个,而不是将多条消息显示为Gmail。
我是否应该使用通知类型,但仅使用数据类型并自行处理通知?如果是这样,这应该是很多人都在做的事情。是否有一个我可以开始的示例项目?
另外,如果我能以某种方式使用通知类型进行分组,它会将数据作为Intent附加功能提供。如果通知将多个项目显示为Gmail,它如何将多个数据传递给我的活动?
{
"to": "/topics/that",
"notification": {
"title": "Title 686",
"body": "My body",
"tag": "xxx"
},
"data": {
"title": "Title 686",
"body": "My body",
}
}
答案 0 :(得分:1)
您可以将收件箱样式与通知构建器
一起使用NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_glyph)
.setContentTitle(title)
.setColor(context.getResources().getColor(R.color.colorPrimary))
.setContentText(contentText);
NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
for (int i = 1; i < 11; i++) {
inboxStyle.addLine(("Message " + i);
}
inboxStyle.setBigContentTitle(title);
mBuilder.setStyle(inboxStyle);