FCM文档指出,当应用程序处于前台状态时,FCM消息将传递到系统托盘。
我想在FirebaseMessagingService中处理这些消息。是否可以访问系统托盘以获取firebase消息(因为我已经安排了服务),或者可以像在较旧的firebase API版本上一样重新激活FirebaseMessagingService.onMessageReceived行为?
onMessageReceived
仅在消息中没有通知附加时调用。因此,对于同时具有通知和有效负载的消息,将不会调用它。
onMessageReceived为大多数消息类型提供,但以下情况除外:
当您的应用在后台时发送的通知消息。在这种情况下,通知将传递到设备的系统托盘。用户点击通知会默认打开应用启动器。
同时具有通知和数据有效载荷的消息,当在后台接收时。在这种情况下,通知将传递到设备的系统托盘,数据有效载荷将在启动器活动的意图范围内传递。
您可以看到,即使您的应用程序在后台,也会调用onMessageReceived
。
[FCM消息将在系统托盘中显示,如果您的应用程序在后台,但是如果您的应用程序在前台,则FirebaseMessagingService.onMessageReceived将触发,因此您可以显示对话框或小吃栏。