当用户在Android中点击Firebase通知时,您可以获得以下密钥
google.sent_time
(长)from
(字符串)google.message_id
(String)collapse_key
(String)使用以下代码:
if (getIntent().getExtras() != null) {
for (String key : getIntent().getExtras().keySet()) {
String value = getIntent().getExtras().getString(key);
Log.d(TAG, "Key: " + key + " Value: " + value);
}
}
但是,我需要从邮件中获取Body
。有可能吗?
答案 0 :(得分:2)
如果应用程序在后台,则通知有效负载中定义的值实际上是为了生成通知。如果要访问消息的通知有效负载中定义的值,则应在数据有效负载中重复这些值,这样当用户点击通知时,您将能够从意图的额外内容中检索它们。类似的东西:
{
"to": "/topics/sometopic",
"notification": {
"title": "some title",
"body": "some body"
},
"data": {
"noti_title": "some title",
"noti_body": "some body",
"other_key": "other value"
}
}
答案 1 :(得分:-1)
您必须手动处理通知,只需按照this guide。
要获取通知正文,请使用remoteMessage.getNotification().getBody()
方法调用onMessageReceived
。
然后在显示通知时(查看this file),将身体添加为意图的额外内容。
intent.putExtra("body", notificationBody);
intent.putExtra("title", notificationTitle);
希望这会有所帮助:)