通知无法打开正确的活动

时间:2016-09-19 21:34:57

标签: android android-intent android-notifications android-pendingintent firebase-cloud-messaging

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

但是当应用程序在后台并且我发送消息时,Notification没有按预期显示,当我点击它时,它首先打开SplashActivity,即使要定义的Intent被打开使用PendingIntentMainActivity。我怎么能解决这两个问题呢?

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

1 个答案:

答案 0 :(得分:1)

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

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

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