</pre><pre>
import android.annotation.TargetApi;
import android.app.job.JobInfo;
import android.app.job.JobParameters;
import android.app.job.JobScheduler;
import android.app.job.JobService;
import android.content.ComponentName;
import android.content.Context;
import android.os.Build;
/**
* Created by liyan on 2016/10/12.
*/
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public class ProcessService extends JobService {
@Override
public void onCreate() {
super.onCreate();
startJobSheduler();
}
public void startJobSheduler() {
try {
int id = 1;
JobInfo.Builder builder = new JobInfo.Builder(id,
new ComponentName(getPackageName(), ProcessService.class.getName() ));
builder.setPeriodic(15000); //15000执行一次
builder.setPersisted(true);
JobScheduler jobScheduler = (JobScheduler)this.getSystemService(Context.JOB_SCHEDULER_SERVICE);
jobScheduler.cancel(id);
int ret = jobScheduler.schedule(builder.build());
} catch (Exception ex) {
ex.printStackTrace();
}
}
@Override
public boolean onStartJob(JobParameters jobParameters) {
Log.d("*******", "job running");
return false;
}
@Override
public boolean onStopJob(JobParameters jobParameters) {
Log.d("*******", "job stop");
return false;
}
@Override
public void onDestroy() {
Log.d("***************","onDestroy");
//重启服务
super.onDestroy();
}
}
Mainifest文件中声明
<service android:name=".service.ProcessService" android:permission="android.permission.BIND_JOB_SERVICE" />