繁体   English   中英

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

[英]How to get Android push notification payload when background App is launched by user click on notification

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

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

onMessageReceived(remoteMessage:RemoteMessage)

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

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

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

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

谢谢

原来这个问题提供了我正在寻找的答案。 TL;DR - 查看Activityintent变量中的extras字段

Firebase (FCM):打开活动并在通知点击时传递数据。 android

我不确定我下面的解决方案是最好的。 不过我觉得可以保存留言share preferences 并把它送到你想要的另一个地方。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM