前言:应用一直保活是不可能的,但是可以确保一段时间内不会重启。
1.保活才用的是开启一个工作服务:
public void startPollingService(Context context) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
JobInfo.Builder builder = new JobInfo.Builder(1, new ComponentName(context,
KeepLiveService.class));
builder.setMinimumLatency(0)
.setBackoffCriteria(JobInfo.DEFAULT_INITIAL_BACKOFF_MILLIS, JobInfo.BACKOFF_POLICY_LINEAR);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
builder.setPeriodic(JobInfo.getMinPeriodMillis(), JobInfo.getMinFlexMillis());
} else {
builder.setPeriodic(TimeUnit.MINUTES.toMillis(5));
}
JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
if (jobScheduler != null) {
jobScheduler.schedule(builder.build());
}
} else {
//系统5.0以下的可继续使用Service
Intent intent = new Intent(context, KeepLiveService.class);
context.startService(intent);
}
}
2 KeepLiveService.classs
本文介绍了如何通过开启工作服务来实现应用保活的方法。针对不同Android版本提供了具体实现方案,包括使用JobScheduler进行周期性任务调度及兼容低版本系统的Service方式。
1万+

被折叠的 条评论
为什么被折叠?



