如何在应用后台收到 FCM 推送通知数据,但在前台点击时点击

时间:2021-06-25 09:54:56

标签: android firebase push-notification firebase-cloud-messaging

我已经完成了文档中的两种情况的处理,它们是:

1/ 如果应用在前台,则处理 onMessageReceived

2/ 如果推送通知在应用在后台运行或被终止时被触发,则处理启动器活动的额外负载。

但是我遇到了这样一种情况:当应用程序在后台时收到推送通知(我只是将它们留在那里),然后我打开应用程序并正常使用该应用程序。然后我向下滑动通知托盘,点击等待的通知,然后应用程序刚刚恢复,我不知道在这种情况下负载会去哪里。

我还检查了有效载荷 extras 是否通过 onResume 传递到当前的 Activity getIntent().getExtras()(就像它对启动器 Activity 所做的一样)但它没有来自通知的 extras 有效载荷.请注意,启动器活动(在我的情况下是 SplashScreen)早已不复存在。该应用只是恢复当前的活动。

无论如何我可以处理这种类型的点击吗?或者这是一个死胡同?

谢谢你们的时间。

1 个答案:

答案 0 :(得分:0)

将活动的启动模式更改或添加到 singleTop。这可以在 AndroidManifest.xml 中通过将 android:launchMode="singleTop" 添加到 <activity> 元素来完成。

更多信息here