[英]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.