Eventos de alarma Android se retrasan

He desarrollado mi aplicación de alarma Android que necesitan algo cada hora (como 1 pm, 2 pm, 3 pm, 4 pm, 5 pm, 6 pm etc).

Ahora estoy usando alarmManager para que yo consiga un evento wideCast cada hora. Pero a veces el evento se retrasa.

AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); Log.d(Constants.APP_TAG, "setting beep alarm"); PendingIntent pendingIntent = PendingIntent.getBroadcast( context, 0, new Intent("com.mindedges.beephourly.intent.action.NEW_HOUR"),PendingIntent.FLAG_UPDATE_CURRENT ); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, AlarmSheduleHelper.getImmediateNextHour().getTimeInMillis(),AlarmManager.INTERVAL_HOUR, pendingIntent); 

¿Cómo puedo asegurarme de que recibo el evento de difusión exactamente a tiempo.

PS: Se demora en algunos teléfonos específicos / versión de anroid

One Solution collect form web for “Eventos de alarma Android se retrasan”

En Android 6.0 Marshmallow, Google introdujo el modo "Doze".

Obtenga más información al respecto aquí: Optimización para Doze y aplicación en espera

Y / o mira aquí: Android Marshmallow 6.0: Introducción al modo Doze

En su caso, Google recomienda utilizar setAndAllowWhileIdle que obligan al teléfono a omitir el modo Doze en su lugar (y setExactAndAllowWhileIdle lugar de setExact .)

¡NÓTESE BIEN! Parece que no hay ningún análogo para setRepeating , así que tienes que programar la próxima repetición "manualmente" con setExactAndAllowWhileIdle , uno por uno.

Para los dispositivos con Android 4.4 KitKat y superiores – considere utilizar setExact lugar del set antiguo, ya que el sistema operativo intenta cambiar las alarmas para minimizar los despertares y el uso de la batería.

Puede haber más puntos a tener en cuenta – por ejemplo, algunos fabricantes de equipos pueden tener sus propias utilidades preinstaladas con el fin de ahorrar batería, pero al menos debe cubrir la población de Android y, presumiblemente, la mayoría de los dispositivos populares.

  • Detectar alarmas predeterminadas de la aplicación del reloj despertador
  • Administrador de alarmas no funciona en segundo plano en Android 6.0
  • ¿Cómo detener y reanudar una alarma de Android?
  • Parte-1 persistente foreGround servicio androide que comienza por la interfaz de usuario, funciona en modo de suspensión también, también comienza en el reinicio del teléfono
  • Configurar la alarma en la hora y fecha seleccionadas
  • Cómo desactivar la alarma mediante programación en android
  • AlarmManager cuando el teléfono está apagado - ANDROID
  • ¿Cómo ejecutar un servicio de 9 AM a 4 PM todos los días?
  • ¿Qué ocurre con las alarmas en ejecución cuando se actualiza la aplicación?
  • Puede AlarmManager (alarm.setRepeating) trabajo en caso de reinicio del teléfono - Android
  • Actualizando la alarma de la intención pendiente en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.