当用户单击通知启动后台应用程序时,如何获取Android推送通知有效负载



我有一个在后台的Android应用程序。我已经在Firebase注册了它,并且能够成功检索它的令牌,并通过Firebase控制台管理器(FCM(向其发送消息。

当我通过 FCM 发送测试消息时,当应用程序位于前台时

onMessageReceived(remoteMessage:RemoteMessage)

触发了我的FirebaseMessagingService派生类的回调 API。然后,我可以调用remoteMessage.notification!!.body并获取其有效负载。这是记录的行为,因此它按预期工作。

当应用程序在后台运行时(假设我按 Home 键(,并且我发送测试消息,该事件不会被调用,而是在 Android 设备上显示通知,这也是预期的行为。目前为止,一切都好。

但是,当我单击通知通道中的通知时,它会将应用程序带到前台。但是,当应用程序像这样启动时 -如何检索推送通知有效负载?onMessageReceived没有触发,我很难在 Android 的文档中找到答案。

关于如何获得它的任何指示?

谢谢

事实证明,这个问题提供了我一直在寻找的答案。TL;DR - 在Activityintent变量的extras字段中查找

Firebase (FCM(:打开活动记录并在通知点击时传递数据。 安卓

我不确定我下面的解决方案是最好的。但我认为您可以将消息保存到share preferences.并把它带到另一个你想要的地方。

override fun onMessageReceived(p0: RemoteMessage) {
//TODO save it to share preferences
}

如果你找到它,给我另一个更好的解决方案。非常感谢。

相关内容

  • 没有找到相关文章

最新更新