1

我正在尝试使用 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 在屏幕关闭时启动任务呢?

4

0 回答 0