【问题标题】:How to handle notifications from the System Tray如何处理来自系统托盘的通知
【发布时间】:2017-02-10 04:47:38
【问题描述】:

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

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

这包括同时包含通知和数据负载的消息。在这些情况下,通知会传送到设备的系统托盘,而数据负载会在启动器 Activity 的 Intent 的附加部分中传送。

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

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

【问题讨论】:

  • 发送仅数据负载。
  • 是的,我知道这个选项,但无法以正常方式发送并知道系统托盘何时处理通知?
  • 我明白了。您应该将您的问题编辑为如何处理来自系统托盘的通知? 之类的。

标签: android android-notifications firebase-notifications


【解决方案1】:

当且仅当您在“数据”键上发送数据时,您将在 FirebaseMessagingService 中的回调方法 onMessageReceived 上得到调用,无论应用程序处于后台还是前台。例如 -

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多