每次满足JobConstraints时运行一次作业

时间:2017-12-18 16:17:57

标签: android

我使用JobService作为Android 8必须的,而不是现在使用Action_Power_Connected接收器来运行我的工作。以下是代码

FirebaseJobDispatcher jobDispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(context));
  Builder ldsjobspecial = jobDispatcher.newJobBuilder();
        ldsjobspecial.setService(LDSJobServiceLimited.class)
                .setLifetime(Lifetime.FOREVER)
                .setRecurring(false).setConstraints(Constraint.ON_ANY_NETWORK, Constraint.DEVICE_CHARGING)
                .setTrigger(Trigger.executionWindow(100, 120))
                .setReplaceCurrent(true)
                .setTag("jobtag");

 jobDispatcher.mustSchedule(ldsjobspecial.build());

如果我使用setRecurring false,则只有在我设置它时才会运行作业,并且在下次设备进行充电时它永远不会运行。如果我使用setRecurring为true,则Job会在整个计费过程中按照定义的时间间隔运行。

请建议如何实现。早些时候我使用的是接收器,它在连接电源时调用工作,一旦电源断开,它就不会运行。

0 个答案:

没有答案