许多APP都需要定期执行某个或某几项任务,如在联网状态下,每隔一段时间上传日志数据给服务器,或在手机处于Idle状态时,定期清理手机的存储空间等。
以往实现这样的功能时,往往需要启动一个定时器不断的轮询执行任务的条件是否满足,如果满足还需启动定时器定期执行任务,这种机制的实现方式比较麻烦。
34.13.1 JobScheduler介绍
在Android5.0(API 21)中,Google提供了一个叫做JobScheduler的功能组件来处理这种场景;在JobScheduler功能类中,有一个JobService类,它是使用JobScheduler回调的入口点。
JobService类中包含以下几个函数:
voidjobFinished (JobParameters params, boolean needsReschedule)
这个函数是在任务完成之后被调用
params---这个参数是从onStartJob函数传递过来的
needsReschedule---如为true,此任务只会被执行一次;false则会被反复执行。
booleanonStartJob (JobParametersparams)
在JobServ

本文介绍了Android 5.0引入的JobScheduler组件,用于处理周期性或条件触发的任务执行。通过JobService类,我们可以定义任务执行的条件,如网络状态、设备闲置状态等,并控制任务的调度。示例代码展示了如何创建、调度和取消Job,以及JobService的关键函数的使用。
订阅专栏 解锁全文
4933

被折叠的 条评论
为什么被折叠?



