通知打不开正确activity

Notification does not open correct activity

我正在使用 Firebase 云消息传递,我有自己的 class 扩展 FirebaseMessagingService
我的活动顺序如下:
SplashActivity -> MainActivity -> DetailsActivity 。当应用程序位于 MainActivity 并且我使用 Firebase 控制台发送消息时,一切正常,它打开了我希望它打开的 Dialog。另外,当我在 MainActivity 时,我发送了一条消息,用于打开 DetailsActivity 一切都很好。

然而,当应用程序在后台并且我发送消息时,Notification 没有按预期显示,当我单击它时它首先打开 SplashActivity,即使定义的 Intent 被打开使用 PendingIntentMainActivity。我该如何解决这两个问题?

在我的自定义 FirebaseMessagingService class 中,我定义了具有以下标志 Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP 的 Intent 和具有以下标志的 PendingIntent PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_ONE_SHOT 但它仍然不起作用。

检查您的 FirebaseMessagingServise 中的方法 onMessageReceived 是否在后台正确调用,以便您可以设置所需的内容。

我必须发送 数据消息 类型而不是 通知,因为当您发送类型通知时,不会在后台调用方法 OnMessageReceived而 firebase 会代替您处理推送通知。请注意,您甚至无法 组合类型通知和数据消息。

您可以在此处找到有关数据消息的更多信息https://firebase.google.com/docs/cloud-messaging/concept-options