使用Firebase的JobDispatcher忽略空闲约束

时间:2018-02-27 17:10:23

标签: android job-scheduling

我使用Firebase JobDispatcher设置了一个Job:

FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(context));
Job myJob = dispatcher.newJobBuilder()
        .setService(EclipseLauncher.class)
        .setTag(JOB_TAG)
        .addConstraint(Constraint.ON_ANY_NETWORK)
        .addConstraint(Constraint.DEVICE_IDLE)
        .setLifetime(Lifetime.FOREVER)
        .setReplaceCurrent(true)
        .setTrigger(Trigger.executionWindow(5,9999999))
        .build();

我想要的是,只有当设备连接到网络(WIFI或3-4G)且设备的屏幕关闭时才能执行此作业。 但是这里的空闲约束似乎完全被忽略了。有时,作业将在应用程序运行时启动,并始终在应用程序进入后台时启动。 更糟糕的是,如果我将触发器设置为Trigger.NOW或者如果我没有设置任何触发器,则该作业立即启动。

我是否误解了空闲的意思?

0 个答案:

没有答案