在Android O中运行后台运行Intentservice

欠伸展肢体,吟咏心自愉。这篇文章主要讲述在Android O中运行后台运行Intentservice相关的知识,希望能为你提供帮助。
我从IntentService开始一个MainActivity。该服务负责初始化FCM数据对象(节点),该数据对象监听在FCM(云)上完成的任何更改。当有任何数据更改时,将触发推送通知。
【在Android O中运行后台运行Intentservice】现在,由于android O不允许服务在后台运行,因此没有观察到推送通知。如何解决这个问题?
答案

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

    推荐阅读