我知道 在后台应用程序中处理消息
当您的应用程序在后台运行时,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/