1、在gradle文件中导包
dependencies {
......
implementation 'androidx.work:work-runtime-ktx:2.2.0'
}
2、编写自定义Worker,实现代码逻辑
public class SimpleWorker extends Worker {
public SimpleWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
super(context, workerParams);
}
@NonNull
@Override
public Result doWork() {
Log.d(SimpleWorker.class.getSimpleName(), "执行调度任务");
return Result.success();
}
}
3、用WorkManager将任务添加到后台
每15分钟执行一次的后台任务
PeriodicWorkRequest request = PeriodicWorkRequest.Builder(SimpleWorker.class, 15, TimeUnit.MINUTES).addTag("simpleTask");
WorkManager.getInstance(context).enqueue(request );
执行一次的后台任务
OneTimeWorkRequest request = OneTimeWorkRequest.from(SimpleWorker.class);
WorkManager.getInstance(context).enqueue(request);
4、移除后台任务
WorkManager.getInstance(context).cancelAllWorkByTag("simpleTask");