每次有可用的互联网时,我都使用以下代码运行作业。我还想要的是,在触发服务后(由于可用连接),只要有互联网,我希望该服务继续运行 g 定期(每 30 秒),然后当连接不再可用时,该服务应该停止并仅在下次有互联网时恢复。
FirebaseJobDispatcher jobDispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(MainActivity.this));
.setTag("JobService")
.setRecurring(true)
.setLifetime(Lifetime.FOREVER)
.setService(JobService.class)
.setTrigger(Trigger.executionWindow(0,10))
.setReplaceCurrent(true)
.setRetryStrategy(RetryStrategy.DEFAULT_EXPONENTIAL);
builder.addConstraint(Constraint.ON_UNMETERED_NETWORK);
jobDispatcher.mustSchedule(builder.build());
我想过让 JobService 自己安排下一次运行(在 30 秒内),时间到后,测试是否有互联网然后好的,否则我会调用 Onstop 方法,但感觉不像解决这个问题的正确方法。