【发布时间】:2018-02-27 16:36:09
【问题描述】:
当我将需要执行时间敏感的后台工作的应用迁移到 Oreo 时,我按照迁移指南遇到了问题:
Pre Oreo 我使用由Alarmmanager.setAndAllowWhileIdle 启动的服务来安排我的工作,使其始终在预定时间的几分钟内运行。现在,有了奥利奥,我不再被允许在后台启动服务。据我所知,建议是尽可能用广播接收器替换服务或使用预定作业。
我无法使用广播接收器,因为我想在后台执行的工作在极少数情况下可能需要超过 10 秒。
我也不认为我可以使用计划作业,因为如果设备处于打盹模式,则无法保证在计划时间的几分钟内运行。
由于当时运行服务对我的应用程序来说非常重要,以收集一些与记录时间相关的数据,我不知何故需要一种在 Oreo 后台限制下完成该任务的方法。
【问题讨论】:
标签: android android-service android-8.0-oreo android-jobscheduler