FirebaseMessagingService onMessageReceived getData返回空数组

时间:2017-10-16 18:32:26

标签: java android firebase firebase-cloud-messaging

我已经实现了MyFirebaseMessagingService,我正试图在推送通知中传递数据。

在onMessageReceived中我可以在调试器中看到数据在这里:

enter image description here

我需要的确切数据是“值[2]”。

名为“value [2]”的实体对我来说很奇怪,那究竟是什么关键?是2吗?

catch

返回null ...

即使

remoteMessage.getData().get(2)

返回一个空数组:

remoteMessage.getData()
  

I / System.out:DATA DUMP:{}

为什么在调试器中看到它时它是空的?如何访问这些数据?

1 个答案:

答案 0 :(得分:0)

想出来。

这都是由于数据被错误发送。它必须具有名称“data”,否则将不会在remoteMessage.getData()中返回。 getData()只会查找,但调试器可以看到更多。所以,如果您发送了数据,但在其他字段名称应用程序将获得它,但没有办法访问它,因为只有方法是getData,它需要名为“data”的字段。