Var*_*arg 0 android android-intent firebase firebase-cloud-messaging firebase-notifications
我是 firebase 控制台发送通知。它直接向系统托盘发送通知。我想在用户点击它们时从它们那里获取有效负载。
当您的应用程序在后台运行时,Android 会将通知消息定向到系统托盘。默认情况下,用户点击通知会打开应用程序启动器。
这包括包含通知和数据负载的消息(以及从通知控制台发送的所有消息)。在这些情况下,通知将传递到设备的系统托盘,并且数据负载将在启动器活动的意图的附加内容中传递。
https://firebase.google.com/docs/notifications/android/console-audience
我能够获取从控制台发送的通知 如何从我的意图之外获取通知负载?
我扔掉了额外的包并找到了答案。
这些是我一直在寻找的钥匙:
google.sent_time(长)
来自(字符串)
google.message_id(字符串)
collapse_key(字符串)
除此之外,您还可以直接使用用于自定义数据的密钥(发送消息时)。
当我们从 firebase 控制台发出消息时,我认为只有我们发送的自定义数据才能从 extra 的意图中接收。标题、消息等我无法从这里检索
正如其他人所观察到的那样,我认为不可能从额外意图中提取标题和消息。我找到了一个解决方法,用一个单独的密钥再次传递它们。如何从额外意图中提取数据的一些代码是
Bundle Extras = getIntent().getExtras();
public static String Content_KEY = "NotificationContent"; //alterative to message
String Content = Extras.getString(Content_KEY);
Run Code Online (Sandbox Code Playgroud)
我不记得确切的名字,但有两种发送消息的模式。
第一种模式是 firebase 控制台使用的模式。它直接发送消息
您必须处理这两个问题,如果我在 onMessageReceived 中收到通知,我最终会从应用程序本身将通知发送到系统托盘,以便我可以通过处理主活动中的额外意图的相同代码来管理它们。
如果通知丢失,您也会丢失数据。
| 归档时间: |
|
| 查看次数: |
2793 次 |
| 最近记录: |