如何正确配置Android中的AlarmManager,使其在应用关闭时也能在精确时间执行任务?Kotlin示例
大家好!我是Android Kotlin开发的新手,一直搞不懂AlarmManager。我需要应用每天上午9:00发送通知,即使它被完全关闭(从最近列表中划掉)。
我写了这样的代码,但当应用被杀死时它不工作:
```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)
```
BroadcastReceiver已在清单中注册:
```xml
```
问题在于,在Android 8+(API 26+)上,通知不会到达。