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.