当应用程序在后台或被FCM服务终止时如何处理多个通知

时间:2019-11-22 06:12:35

标签: android kotlin

当应用在后台运行时,我想用上一个覆盖新通知。因为如果应用程序在后台运行,则不会调用onMessageReceived(),并且我不想更改通知中的有效负载类型。请为我提供一个更好的通知和数据有效负载解决方案,以便用上一个覆盖新的通知。

1 个答案:

答案 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