}
}
}
在上面的MyWorker实例中,继承了Worker 并且重写了doWork()方法,需要注意的是doWork()方法是有返回值Worker.Result的,可以在任务执行成功是返回**Worker.Result.SUCCESS**,在任务执行出现异常时返回**Worker.Result.FAILURE** doWork()方法的返回值主要有三种 1、**Worker.Result.SUCCESS** 表示任务执行成功
2、**Worker.Result.FAILURE** 表示任务执行失败
3、**Worker.Result.RETRY** 通知WorkManager之后再尝试执行该任务
WorkRequest
-----------
WorkRequest要指定执行任务的Worker,也可以给WorkRequest加一些规则,比如说什么时候执行任务,任务执行一次还是多次,每一个WorkRequest都有一个自动产生的唯一ID,可以根据唯一ID获取对应任务的状态以及是否取消对应的任务。如下图WorkRequest有两个实现类如下图:
![在这里插入图片描述](https://user-gold-cdn.xitu.io/2019/1/20/1686b60e340a9ca4?imageView2/0/w/1280/h/960/ignore-error/1)
**1、OneTimeWorkRequest** 任务只执行一次
OneTimeWorkRequest myWorkRequest =
new OneTimeWorkRequest.Builder(MyWorker.class)
.build();
//将上面定义的MyWorker加入到OneTimeRequest.Builder方法中
WorkManager.getInstance().enqueue(myWorkRequest);//获取WorkManager实