当应用程序不在前景中时接收FCM数据消息正在使用中

问题描述 投票:-1回答:2

FCM文档指出,当应用程序处于前台状态时,FCM消息将传递到系统托盘。

我想在FirebaseMessagingService中处理这些消息。是否可以访问系统托盘以获取firebase消息(因为我已经安排了服务),或者可以像在较旧的firebase API版本上一样重新激活FirebaseMessagingService.onMessageReceived行为?

java android firebase firebase-cloud-messaging background-service
2个回答
1
投票

onMessageReceived仅在消息中没有通知附加时调用。因此,对于同时具有通知和有效负载的消息,将不会调用它。

根据FCM documentation

onMessageReceived为大多数消息类型提供,但以下情况除外:

当您的应用在后台时发送的通知消息。在这种情况下,通知将传递到设备的系统托盘。用户点击通知会默认打开应用启动器。

同时具有通知和数据有效载荷的消息,当在后台接收时。在这种情况下,通知将传递到设备的系统托盘,数据有效载荷将在启动器活动的意图范围内传递。

您可以看到,即使您的应用程序在后台,也会调用onMessageReceived


-1
投票

[FCM消息将在系统托盘中显示,如果您的应用程序在后台,但是如果您的应用程序在前台,则FirebaseMessagingService.onMessageReceived将触发,因此您可以显示对话框或小吃栏。

© www.soinside.com 2019 - 2024. All rights reserved.