我懂了。在有效负载中,您同时使用
notification和
data有效负载,当应用程序在后台运行时,这会更改您应该在其中接收详细信息的位置。在我在注释中提到的文档中,您可以在摘要中看到有效负载中是否同时包含了这两者:
数据:意图之外。
进一步来说:
在后台应用程序中处理通知消息
当您的应用程序在后台运行时,Android会将通知消息定向到系统任务栏。默认情况下,用户点击通知会打开应用启动器。
这包括 同时 包含 通知和数据有效负载的
消息(以及从Notifications控制台发送的所有消息)。在这些情况下,通知将传递到设备的系统托盘,而
数据有效载荷将在启动器活动的意图之外传递。
我认为@ArthurThompson的回答很好地解释了这一点:
当您发送带有数据有效载荷(通知和数据)的通知消息且应用程序处于后台时,您可以从由于用户点击通知而启动的意图的额外内容中检索数据。
在点击通知时启动MainActivity 的FCM示例中:
if (getIntent().getExtras() != null) { for (String key : getIntent().getExtras().keySet()) { String value = getIntent().getExtras().getString(key); Log.d(TAG, "Key: " + key + " Value: " + value); }}


