为了账号安全,请及时绑定邮箱和手机立即绑定

在收到Firebase通知时打开应用(FCM)

在收到Firebase通知时打开应用(FCM)

莫回无 2019-09-21 15:03:05
我想在收到通知时自动打开应用程序,Firebase和新的FCM通知可能吗?我知道我可以设置click_action,但这仅用于自定义将在通知点击时开始的活动,我需要在收到通知时将自动开始的活动。我尝试了快速入门消息传递Firebase示例,并且有onMessageReceived()方法,但仅在应用程序位于前台时才有效。当应用程序在后台运行时,是否还会执行某些操作?GCM可以通过直接从广播接收器启动活动意图(在收到通知时称为该意图)来执行我想要的操作。
查看完整描述

3 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

指南的这一部分似乎是困扰后台应用程序的关键:


接收消息

使用扩展 FirebaseMessagingService的服务。您的服务应覆盖为大多数消息类型提供的回调,但以下情况除外:onMessageReceived


当您的应用在后台运行时发出的通知。

在这种情况下,通知将传递到设备的系统托盘。用户点击通知会默认打开应用启动器。


具有通知和数据有效负载的消息。 

在这种情况下,通知将传递到设备的系统托盘,而数据有效载荷将在启动器活动的意图之外传递。


本质上,当应用程序后台运行时,它并没有真正响应或正在运行。因此,消息将传递到系统托盘。但是,仅在下面说明解决方案。


如果要打开应用程序并执行特定操作(在后台运行),请在通知有效负载中设置click_action并将其映射到要启动的活动中的意图过滤器。例如,将click_action设置 为OPEN_ACTIVITY_1以触发意图过滤器,如下所示:


<intent-filter>

  <action android:name="OPEN_ACTIVITY_1" />

  <category android:name="android.intent.category.DEFAULT" />

</intent-filter>


查看完整回答
反对 回复 2019-09-21
  • 3 回答
  • 0 关注
  • 883 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信