android - 如何处理来自系统托盘的通知

标签 android android-notifications firebase-notifications

我知道 在后台应用程序中处理消息

当您的应用程序在后台运行时,Android 会将通知消息定向到系统托盘。默认情况下,用户点击通知会打开应用启动器。

这包括包含通知和数据负载的消息。在这些情况下,通知会传送到设备的系统托盘,并且数据负载会在启动器 Activity 的 intent 的额外部分中传送。

但是我的应用程序应该检测通知何时到达以进行操作(从服务器获取数据),因为当通知到达时必须加载数据但是,当应用程序在后台时我不知道通知到达直到用户点击通知将应用程序打开并且我将加载数据, 但在某些情况下,用户没有点击通知,因此数据未加载

所以我的问题是,如果应用程序在后台运行,有什么方法可以知道应用程序何时收到通知?

最佳答案

在任何情况下,当且仅当您在“数据”键上发送数据时,您将在 FirebaseMessagingService 中调用回调方法 onMessageReceived ,无论应用是在后台还是在前台。例如 -

{
"message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
  "Nick" : "Mario",
  "body" : "great match!",
  "Room" : "PortugalVSDenmark"
      }
   }
}

您可以通过在回调方法 onMessageReceived 上创建它来显示自定义通知

关于android - 如何处理来自系统托盘的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39811304/

相关文章:

android - 如何在下载前检查文件是否可以被第三方应用程序打开

c# - 我应该加密我的 Unity 代码来构建 IOS 游戏吗?

android - 在外部单击时如何捕获对话框的触摸事件

java - Android,以编程方式上传照片以托管在imgur上

Android 实例化一个虚拟的 PendingIntent

Android 为 getSystemService 获取 NullPointerException

java - setLatestEventInfo 方法无法解析

android - 使用 Firebase 通知时,Facebook 套件会出现VerifyError

react-native - 是否可以通过托管工作流程将 Apple 和/或 Firebase 推送通知集成到 React Native/Expo 应用程序?

android - 创建 FCM 主题需要很长时间才能在控制台中显示