我想在收到通知时自动打开应用程序,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>
- 3 回答
- 0 关注
- 930 浏览
添加回答
举报
0/150
提交
取消