Cómo configurar correctamente AlarmManager en Android para ejecutar una tarea a una hora exacta, incluso si la aplicación está cerrada. Ejemplo en Kotlin
¡Hola a todos! Soy nuevo en el desarrollo de Android en Kotlin y no puedo entender AlarmManager. Necesito que la aplicación envíe una notificación todos los días a las 9:00 a.m., incluso si está completamente cerrada (deslizada de la lista de recientes).
Escribí este código, pero no funciona cuando la aplicación está eliminada:
```kotlin
val alarmManager = getSystemService(Context.ALARM_SERVICE) as AlarmManager
val intent = Intent(this, MyReceiver::class.java)
val pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
val calendar = Calendar.getInstance().apply {
set(Calendar.HOUR_OF_DAY, 9)
set(Calendar.MINUTE, 0)
set(Calendar.SECOND, 0)
}
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.timeInMillis, AlarmManager.INTERVAL_DAY, pendingIntent)
```
El BroadcastReceiver está registrado en el manifiesto:
```xml
```
El problema es que en Android 8+ (API 26+) las notificaciones no llegan
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Concurrencia y multiproceso en Kotlin: corrutinas, hilos y ejemplos prácticos