当应用在后台运行时,我想用上一个覆盖新通知。因为如果应用程序在后台运行,则不会调用onMessageReceived(),并且我不想更改通知中的有效负载类型。请为我提供一个更好的通知和数据有效负载解决方案,以便用上一个覆盖新的通知。
答案 0 :(得分:0)
对于数据消息:
如果您为通知设置了相同的通知ID,则它可以替换通知抽屉中的上一个通知。
示例:
notificationManager.notify(0, notificationBuilder.build())
这会将每个新通知的ID设置为0,因此它将始终替换以前的通知。
有关通知消息:
无法替换先前的通知,因为如果您的应用程序是由FCM本身处理的,则在后台运行时不会调用onMessageReceived()。
参考: https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages