我正在开发一个 Android 应用程序,每次用户打开 Wi-Fi 或移动数据时,我都使用 Firebase JobDispatcher 库来运行后台作业,但不幸的是,该库已被弃用,现在新的 WorkerManager 是要走的路。
我的问题是每次只有互联网可用时如何使用 WorkerManager 运行作业?
我已经检查了 WorkerManager 库迁移指南和文档,但我无法使用 OneTimeWorkRequest 或 PeriodicWorkRequest 来实现。
这是我与 Firebase JobDispatcher 库一起使用的代码来实现这一点。
FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(new GooglePlayDriver(this));
Job networkJob = dispatcher.newJobBuilder()
.setService(NetworkJobService.class)
.setTag(Const.NETWORK_JOB_TAG)
.setReplaceCurrent(true)
.setLifetime(Lifetime.FOREVER)
.setRetryStrategy(RetryStrategy.DEFAULT_LINEAR)
.setRecurring(true)
.setTrigger(Trigger.executionWindow(0, 0))
.setConstraints(Constraint.ON_ANY_NETWORK)
.build();
dispatcher.schedule(networkJob);