前面提到,使用JobScheduler时,即使执行任务的条件不满足,任务也会被执行;为了规避这个缺陷,可以使用Evernote提供的库让APP定期执行任务,以下是具体的实现方式。
在build.gradle文件中增加库的依赖:
dependencies {
…
compile 'com.evernote:android-job:1.1.8'
}
需要从库提供的类派生几个类:
public class DemoJobCreator implementsJobCreator {
@Override
public Job create(String tag) {
switch (tag) {
case DemoSyncJob.TAG:
return new DemoSyncJob();
default:
return null;
}
}
}
public class DemoSyncJob extends Job {
public static final String TAG ="job_demo_tag";
@Override
@NonNull
protected Result onRunJob(finalParams params) {