Android Job框架:Trigger

jphp1 9年前

你知道 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);

项目主页:http://www.open-open.com/lib/view/home/1431410859794