繁体   English   中英

当应用不在前台时接收服务中的 FCM 数据消息

[英]Receive FCM data messages in service when the app is not in Foreground

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

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

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

根据FCM 文档

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

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

在后台接收时带有通知和数据负载的消息 在这种情况下,通知被传递到设备的系统托盘,数据负载被传递到启动器 Activity 的附加内容中。

如您所见,即使您的应用程序在后台,也会调用onMessageReceived

由于节电限制,消息在小米设备上消失了。 更改电池管理设置后,数据消息到达

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM