你知道 Android L 中新增的 JobScheduler 吗,就像其名字所表示的,你可以定义自己的作业,然后在某些条件下执行,例如是充电时、断网时或者设备空闲时等等。这是非常棒的特性,但只在 API 21 上才有效,老版本怎么办呢? 你现在可以试试 Trigger。
Trigger 的特性
单个作业支持多个条件组合
内部条件:充电中\无法检测网络状态\设备空闲
支持作业持久化,这意味着可在设备重启时触发
支持作业截止时间
可根据配置在后台或者主线程中运行作业
示例代码:
Job job = new Job(new Action() { @Override protected void act() { //do something } }).withExtra(new Condition() { @Override public String[] getAction() { return new String[]{YOUR_BROARCAST}; } }); trigger.schedule(job);