Joh*_*ohn 3 firebase-job-dispatcher
我创建了一个经常性的工作,我希望在满足某些条件时取消重复工作.
final Job.Builder builder = dispatcher.newJobBuilder()
.setTag("myJob")
.setService(myJobService.class)
.setRecurring(true)
.setTrigger(Trigger.executionWindow(30, 60));
Run Code Online (Sandbox Code Playgroud)
我如何取消firebase的工作?
关于GitHub的自述文件说:
驱动程序是一个接口,表示可以计划,取消和执行作业的组件.唯一捆绑的驱动程序是GooglePlayDriver,它依赖于Google Play服务内置的调度程序.
所以取消是你正在使用的驱动程序的一部分.检查驱动程序接口的代码有两种取消作业的方法:
/**
* Cancels the job with the provided tag and class.
*
* @return one of the CANCEL_RESULT_ constants.
*/
@CancelResult
int cancel(@NonNull String tag);
/**
* Cancels all jobs registered with this Driver.
*
* @return one of the CANCEL_RESULT_ constants.
*/
@CancelResult
int cancelAll();
Run Code Online (Sandbox Code Playgroud)
所以在你的情况下你必须打电话:
dispatcher.cancel("myJob");
Run Code Online (Sandbox Code Playgroud)
要么
dispatcher.cancelAll();
Run Code Online (Sandbox Code Playgroud)
调度员将为您调用相应的驱动程序方法.如果您愿意,也可以直接在驱动程序上调用方法,就像在GitHub项目附带的示例应用程序中myDriver.cancelAll() 一样.
所选方法将返回以下常量之一:
Run Code Online (Sandbox Code Playgroud)public static final int CANCEL_RESULT_SUCCESS = 0; public static final int CANCEL_RESULT_UNKNOWN_ERROR = 1; public static final int CANCEL_RESULT_NO_DRIVER_AVAILABLE = 2;
| 归档时间: |
|
| 查看次数: |
2205 次 |
| 最近记录: |