Android começa a executar o JobScheduler em horário específico
Quero iniciar um JobScheduler em um horário específicotodo diae termine após 3 horas.
Eu tenho o papel de acionar o trabalho a cada 20 minutos e por 3 horas, mas na classe JobInfo.Builder não há opção para iniciar o trabalho no momento exato.
Passando por cima doJobInfo.Builder visão geral da classe, não há nada lá que defina o tempo para iniciar um JobScheduler.
Obviamente, não quero executá-lo o dia inteiro e verificar se o tempo corresponde, isso esgotará mais bateria do que o necessário e está com uma programação ruim.
Eu estava pensando em fazer um alarme para executar no momento em que eu especificava e acionaria esse trabalho, mas isso parece um pouco exagerado.
JobInfo.Builder builder = new JobInfo.Builder(NIGHT_SYNC_JOB_ID,
new ComponentName(context, NightSyncDataJobService.class));
//Job starts at 11pm, and ends at 2am. Running every 20 minutes.
builder.setPersisted(true); //Job scheduled to work after reboot
builder.setPeriodic(Consts.ONE_MINUTE * 20);
JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
jobScheduler.schedule(builder.build());
Se você tiver qualquer outra solução para o problema, será muito apreciada, além do AlarmManger que aciona este JobScheduler.