[英]Cant receive Notifications from FCM while the app is in Foreground state
[英]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.