我正在尝试创建一个重复的异步任务来使用 JobScheduler 和JobService调用 Web 服务。但我的想法是尝试每天执行一次此任务,并且始终在同一时间执行。甚至可能让用户更新任务启动日期的时间。
JobInfo.Builder是否支持这种可能性?因为我使用的是“setPeriodic”,但我认为这是不可能的。
我应该更好地使用AlarmManager来实现此功能吗?
这是现在调用服务的代码:
private void launchCheckShowStatusJob(){
ComponentName serviceComponent = new ComponentName(this, CheckShowsStatusService.class);
JobInfo.Builder builder = new JobInfo.Builder(jobId++, serviceComponent);
builder.setMinimumLatency(0);
builder.setPeriodic(5*1000); //Every 5 minutes, can this be use to set a dayly task?
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY); //Require any network
builder.setRequiresCharging(false);
JobScheduler jobScheduler = (JobScheduler) getApplication().getSystemService(Context.JOB_SCHEDULER_SERVICE);
jobScheduler.schedule(builder.build());
}