应用程序未启动时处理fcm通知

时间:2016-10-10 07:12:27

标签: android

我正在为我的Android应用程序使用fcm推送通知。当应用程序未启动时,我能够在系统托盘上显示推送通知。当我点击通知时默认打开应用启动器,我从那里开始一个活动 A 。但问题是,如果我将应用程序置于后台并单击应用程序图标,则会再次打开应用程序启动器,而不是打开现有的活动A.

2 个答案:

答案 0 :(得分:0)

如果应用程序进程被终止,请启动启动器活动。如果应用程序在后台,您可以将意图传递给通知,该通知启动没有代码的DummyActivity,并立即在其onCreate()方法上调用finish()。这会将您的应用程序带到前台。

答案 1 :(得分:0)

你的问题中有几点不清楚。例如:如何发送消息(从开发人员控制台或通过rest api post请求发送到firebase后端)?当推送消息到来时,您对应用程序的期望行为是什么?我将尽力给您一般答案,可能有助于您解决问题并了解如何实现所需的行为。

在任何情况下,都有两种类型的Firebase推送消息:

  • 数据讯息
  • 通知消息

有关它的更多详情,请查看Notification & data messages page

如果您要向正在开始的活动发送其他详细信息(类似于捆绑附加内容),则应使用数据消息并处理服务中扩展FirebaseMessagingService的活动。覆盖onMessageReceived(RemoteMessage remoteMessage)方法。这种方法对我来说是优选的,因为它更灵活。您可以根据收到的firebase消息定义有关显示通知的所有详细信息,包括是否捆绑了通知,用户点击通知时的详细信息以及与之相关的几乎所有内容。

如果您不需要使用某些参数启动某些活动,那么您可以使用推送消息并只定义 click_action 。此方法允许您添加定义标题,文本和通知声音(除了其他一些细节),但它不像发送数据消息那样灵活

Here您可以找到可用于不同类型消息的可能参数的详细概述

希望这有帮助