Programar una tarea para que se ejecute cada 24 horas

Estoy intentando crear una aplicación de Android que incremente un contador cada 24 horas. Solo estoy haciendo uso de SharedPreferences y, cuando llega el momento, aumenta el valor de las preferencias compartidas. En este momento hice uso de FirebaseJobDispatcher pero el problema con esto fue que es inconsistente en el incremento. Leí algunos documentos y entiendo que es mejor usar FirebaseJobDispatcher cuando también involucra algunas llamadas de red. Mi pregunta es: ¿cómo puedo programar un trabajo simple en Android para que se ejecute cada 24 horas? Por favor, cualquier ayuda y sugerencia sería muy útil. A continuación se muestra mi código FirebaseJobDispatcher. En este momento solo estoy usando 2 minutos solo para fines de verificación.

public class ScheduleIncrementJob {

private static final int UPDATE_INTERVAL_MINUTES = 2;
private static final int UPDATE_INTERVAL_SECONDS = (int)(TimeUnit.MINUTES.toSeconds(UPDATE_INTERVAL_MINUTES));
private static final int SYNC_FLEX_SECONDS = UPDATE_INTERVAL_SECONDS;

private static final String UPDATE_JOB_TAG = "update_counter_tag";

private static boolean sInitialized;

synchronized public static void scheduleUpdateCounter(final Context context){
    if(sInitialized)return;

    Driver driver = new GooglePlayDriver(context);
    FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(driver);

    Job constraintUpdateJob = dispatcher.newJobBuilder()
            .setService(IncrementJobService.class)
            .setTag(UPDATE_JOB_TAG)
            .setLifetime(Lifetime.FOREVER)
            .setRecurring(true)
            .setTrigger(Trigger.executionWindow(UPDATE_INTERVAL_SECONDS,
                    UPDATE_INTERVAL_SECONDS + SYNC_FLEX_SECONDS))
            .setReplaceCurrent(true)
            .build();
    dispatcher.schedule(constraintUpdateJob);
    sInitialized = true;
}
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta