【发布时间】:2017-05-18 10:07:19
【问题描述】:
我正在使用 FCM 进行简单通知
当应用程序处于前台时,一切正常。我收到一条通知以及 onMessageReceived 方法中的数据消息。
但是当应用程序处于后台时,我会在系统托盘中收到通知。当我单击控件时,它会转到主要活动。当我解析 intent.getExtras(); 时,我只得到这个关键数据 - google.sent_time、from、google.message_id、collapse_key。
如何从intent.getExtras()获取系统托盘中可见的通知消息标题和消息?
我正在使用 FCM 控制台发送通知我没有专门的服务器来执行此操作。
接收消息的代码:
final Bundle extras = intent.getExtras();
final Set<String> keySet = extras.keySet();
final Iterator<String> iterator = keySet.iterator();
while (iterator.hasNext()) {
final String key = iterator.next();
final Object o = extras.get(key);
System.out.println(key + ":" + o);
}
【问题讨论】:
-
请包含您目前拥有的代码。
-
首先确保您收到的是通知消息或有效负载消息或两者的组合。 Google 提供了示例应用程序,请按照该示例进行操作,否则请在此处粘贴您的代码。
-
老兄感谢您的建议。我已经提到,当应用程序在前台时,我会同时收到通知和数据消息。并且当通知进入系统托盘时在后台 - 单击它时。来自意图.getExtras();我只得到提到的键。如何检索通知负载
-
发布你的 onReceive() 方法的代码!
-
" final Bundle extras = intent.getExtras(); final Set
keySet = extras.keySet(); final Iterator iterator = keySet.iterator(); while (iterator.hasNext ()) { final String key = iterator.next(); final Object o = extras.get(key); System.out.println(key + ":" + o); } "
标签: android firebase firebase-cloud-messaging firebase-notifications