Alarma de configuración de Android a una fecha anterior

¿Qué sucede si debo agregar una alarma pero fijar la fecha de inicio a una fecha anterior?

¿Se ejecuta de inmediato o se pone en la cola y nunca se ejecuta?

alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, startDate, repeatingValue, alarmIntent); 

Si la fecha está en pasado, la alarma se activará inmediatamente. Sin embargo, puede intentar utilizar setInexactRepeating lugar de setRepeating :

 alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, startDate, setInexactRepeating , alarmIntent); 

Desde el archivo setInexactRepeating () docs :

Programe una alarma de repetición que tenga requisitos inexact del tiempo del disparador; Por ejemplo, una alarma que se repite cada hora, pero no necesariamente en la parte superior de cada hora.

A partir de la documentación , si la hora de inicio es en el pasado, la alarma se activará inmediatamente.

En realidad AlarmManager funciona con la hora actual. Así que cuando se establece la alarma fecha pasada, entonces AlarmManager se ejecutará

 public void onReceive(Context context, Intent intent) { } 

método.

Creo que la alarma se establece sólo por horas (al menos a través de la interfaz de usuario de Android), no para un día en particular, de esta manera se iniciará en la hour:minute exacta hour:minute que estableció.

Como puedo concluir de mi experiencia anterior con AlarmManager . La fecha que está en el pasado activará la alarma inmediatamente.

Por lo que puedo decir, AlarmManager.set se ejecutará ahora cuando el tiempo se establece en un tiempo pasado, la documentación dice tanto. Esta sentencia falta para AlarmManager.setInexactRepeating , esta alarma no se activará cuando se establezca para un tiempo pasado, se disparará en el siguiente intervalo, a partir del tiempo dado.

AlarmManager.set y AlarmManager.setInexactRepeating llaman a setImpl, con el tiempo de disparo que pasaron como parámetro (marcado en las fuentes de Android 7.1.2). -> no hay diferencia en ambos métodos, si el tiempo de disparo es en el pasado.

  • Android en Eclipse autocompletes arg0, arg1,
  • Mensaje de Android a Android sin Accesspoint
  • Java: Android dev: "El método getHolder () no está definido para el tipo GameView"
  • Gradle: Cómo excluir javax.realtime paquete de JScience jar dependencia (Multiple dex define)
  • Ubuntu 15.04 construir Android 5.0 error: Usted está tratando de construir con la versión incorrecta de java. ¿por qué?
  • Ejemplo de servicio Apache Thrift que utiliza HTTPS, en Python
  • Restaurar la pila posterior de Android después de cerrar la aplicación
  • Alternativa de Android a java.awt (BufferedImage y Raster)
  • Cómo cambiar mediante programación la imagen de fondo de una actividad de Android
  • Módulo o proyecto de importación como Biblioteca en Android Studio
  • Comportamiento extraño al descargar html usando HttpURLConnection
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.