我有一个控件可以显示当前时间和其他一些信息,因此它需要每分钟更新一次。我正在使用AlarmManager来触发每分钟的更新,并调用IntentService来更新小部件。在Android Oreo之前的版本中,这个解决方案运行良好。但在Oreo上,这个解决方案无法正常工作 - 看起来AlarmManager没有被触发。据我所知,现在有一个TextClock控件可以自动更新文本到当前时间,但不幸的是这不是一个解决方案,因为我需要在小部件上绘制其他非文本信息。
闹钟设置如下:
闹钟设置如下:
if (android.os.Build.VERSION.SDK_INT >= 19) {
alarmManager.setExact(AlarmManager.RTC, timeInMillis(), intent);
} else {
alarmManager.setRepeating(AlarmManager.RTC, timeInMillis(), 1000 * 60, intent);
}
请注意,在 Android 19+ 上,由于它不是重复闹钟,每次闹钟响起时都会重新安排闹钟。
在 Android O 及更高版本中是否有替代解决方案?