许多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 (