计划任务组件
根据系统闹钟的定时任务,按任务的执行时间顺序依次执行,可动态添加及取消任务。
不支持任务时间片重叠的场景
基于开源项目修改,感谢作者:https://github.com/BolexLiu/TimeTask
使用说明
导入依赖
Step 1. 添加JitPack仓库到根目录build.gradle文件
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. 在module添加依赖
dependencies {
implementation 'com.github.Doonkey:TimeTask:1.0.3'
}
初始化
其中的ReserveTask继承Task
public class ReserveTask extends Task {
public ReserveTask(String taskId, long starTime, long endTime) {
super(taskId, starTime, endTime);
}
}
taskHandler = new TaskManager<ReserveTask>().getTaskHandler(this);
taskHandler.addCallBack(timeHandler);//添加任务回调
TaskCallBack<ReserveTask> timeHandler = new TaskCallBack<ReserveTask>() {
@Override
public void taskExecute(ReserveTask task) {
Log.e("TAG", "taskExecute" + task.toString());
}
@Override
public void taskOverdue(ReserveTask task) {
Log.e("TAG", "taskOverdue" + task.toString());
}
@Override
public void taskFuture(ReserveTask task) {
Log.e("TAG", "taskFuture" + task.toString());
}
};
添加任务
taskHandler.addTask(ReserveTask... task);//把资源放进去处理
取消任务
taskHandler.cancelTask(String taskId);
释放
taskHandler.release();
————————————————
版权声明:本文为CSDN博主「Doonkey」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014711665/article/details/119242943