在Android O中运行后台运行Intentservice

问题描述 投票:0回答:1

我从IntentService开始一个MainActivity。该服务负责初始化FCM数据对象(节点),该数据对象监听在FCM(云)上完成的任何更改。当有任何数据更改时,将触发推送通知。

现在,由于Android O不允许服务在后台运行,因此没有观察到推送通知。如何解决这个问题?

android firebase firebase-cloud-messaging
1个回答
0
投票
  1. IntentService不打算长时间运行。为了执行长时间运行的任务,你通常会使用Service
  2. 从Android O开始,即使是普通服务也受background execution limitations的限制。您可以通过将其定为Foreground Service来保护您的服务免受系统杀害。通常最简单的方法是显示持久性通知。
  3. 就FCM而言,你可以简单地使用register your service for receiving FCM data messages并安全地期望它被调用。如果您的逻辑(响应FCM数据消息)不是非常耗时,则该服务甚至不必是前台服务。
© www.soinside.com 2019 - 2024. All rights reserved.