我正在尝试使用 Firebase JobDispatcher 使我的应用程序适应新的 Oreo 限制。我需要更改的一件事是关闭屏幕时需要执行的任务。为此,我正在尝试使用 contraint DEVICE_IDLE
。在我的理解中,空闲意味着该设备当前未使用,因此应该关闭屏幕。如果我错了,请纠正我,我没有设法在 Android 或 Firebase 文档中找到任何关于此的准确信息。
所以我这样设置我的工作:
Job myJob = dispatcher.newJobBuilder()
.setService(EclipseLauncher.class)
.setTag(JOB_TAG)
.addConstraint(Constraint.ON_ANY_NETWORK)
.addConstraint(Constraint.DEVICE_IDLE)
.setLifetime(Lifetime.FOREVER)
.setReplaceCurrent(true)
.build();
这不起作用。空闲约束似乎被完全忽略,工作立即开始。我尝试添加一个延迟触发器,这次作业在应用程序进入后台后立即启动(例如,当我按下 Home 按钮时)。这不是我真正想要的。
那么有没有什么办法让 Job 在屏幕关闭时启动任务呢?