【发布时间】:2017-10-16 18:32:25
【问题描述】:
我已经实现了 MyFirebaseMessagingService,我正在尝试获取推送通知中传递的数据。
在 onMessageReceived 中,我可以在调试器中看到数据在这里:
我需要的确切数据在“value[2]”中。
名为“value[2]”的实体对我来说很奇怪,那么关键是什么?是2吗?
remoteMessage.getData().get(2)
返回空值...
偶数
remoteMessage.getData()
返回一个空数组:
System.out.println("DATA DUMP: " + remoteMessage.getData());
I/System.out:数据转储:{}
为什么我可以在调试器中看到它是空的?如何访问这些数据?
【问题讨论】:
-
getData()返回的数据载荷是一个Map<String,String>。地图中的条目是使用它们的字符串键获得的,例如getData().get("uid")。可以贴出发送时在消息中设置数据字段的代码吗? -
我知道这是一张地图,但无论我尝试从哪种方式打印,它似乎都是空白的,但在调试器中我可以看到数据。我不直接在消息中设置数据字段。我正在使用以下代码:stackoverflow.com/questions/37435750/… 我刚刚在 NotifyData 类中添加了一个字段,并且此数据存在于调试器中的“值 [2]”中。但是 getData() 什么也没给我。我被卡住了。
标签: java android firebase firebase-cloud-messaging