我已经实现了MyFirebaseMessagingService,我正试图在推送通知中传递数据。
在onMessageReceived中我可以在调试器中看到数据在这里:
我需要的确切数据是“值[2]”。
名为“value [2]”的实体对我来说很奇怪,那究竟是什么关键?是2吗?
catch
返回null ...
即使
remoteMessage.getData().get(2)
返回一个空数组:
remoteMessage.getData()
I / System.out:DATA DUMP:{}
为什么在调试器中看到它时它是空的?如何访问这些数据?
答案 0 :(得分:0)
想出来。
这都是由于数据被错误发送。它必须具有名称“data”,否则将不会在remoteMessage.getData()中返回。 getData()只会查找,但调试器可以看到更多。所以,如果您发送了数据,但在其他字段名称应用程序将获得它,但没有办法访问它,因为只有方法是getData,它需要名为“data”的字段。