【发布时间】:2018-07-16 07:15:02
【问题描述】:
所以我正在构建一个消息传递应用程序,并且我正在尝试将 NotificationCompat.MessagingStyle 用于我的通知,它通常适用于一条消息,但添加的每条消息只是替换最后一条消息,而不是显示收到的每条消息直到那里清除或查看(期望的结果),看看他们说要添加这样一条消息的文档
.addMessage(messages[1].getText(), messages[1].getTime(), messages[1].getPerson())
.addMessage(messages[2].getText(), messages[2].getTime(), messages[2].getPerson())
这导致我假设他们将这些消息存储在某个数组中,但我不确定在哪里实现它,就好像我在同一个类中创建一个新数组一样我假设如果保存它会是相同的结果共享偏好(似乎有点记忆重)或者可能在一个未读消息的小型数据库中?我已经在我的消息中存储了一个值,以确定它们是否已发送或接收。我可以对所有未读消息运行查询,填充一个列表并对其进行迭代,尽管这似乎有点过头了?
更新
仍然没有得到任何结果,尝试制作一个消息列表并像这样添加它们,但仍然没有乐趣
NotificationCompat.MessagingStyle messagingStyle = new
NotificationCompat.MessagingStyle(message.getRecipientName());
messagingStyle.setConversationTitle(
getSmsTodayYestFromMilli(message.getTime_stamp().getTime()));
if (messages != null)
for(DatabaseMessage dbMessage : messages){
messagingStyle.addMessage(dbMessage.getMessage(),
dbMessage.getTime_stamp().getTime(),dbMessage.getRecipientName());
}
}
notificationBuilder.setStyle(messagingStyle);
【问题讨论】:
-
确保您使用不同的 notificationId 来生成通知。
-
不,事实并非如此,但谢谢,创建一个新的通知 id 会创建一个新的通知我想要做的是在现有通知中添加一条新消息
标签: android push-notification firebase-cloud-messaging