Avatar ·

如何正确配置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+)上,通知不会到达。