Java 我的应用程序具有闹钟铃声功能。不幸的是,有时会出现位延时报警(延时在不同时间有所不同)
有时警报会延迟响起,延迟从1分钟到5分钟不等。我已从传递给警报管理器的时间中删除秒值,但仍然存在时间延迟Java 我的应用程序具有闹钟铃声功能。不幸的是,有时会出现位延时报警(延时在不同时间有所不同),java,android,kotlin,Java,Android,Kotlin,有时警报会延迟响起,延迟从1分钟到5分钟不等。我已从传递给警报管理器的时间中删除秒值,但仍然存在时间延迟 when (selectedRepeat!!.id) { Repeat.Never.Id -> { alarmInterval = 0L } Repeat.Daily.Id -> { alarmInterval = AlarmManager.INTERVAL_DAY }
when (selectedRepeat!!.id) {
Repeat.Never.Id -> {
alarmInterval = 0L
}
Repeat.Daily.Id -> {
alarmInterval = AlarmManager.INTERVAL_DAY
}
Repeat.Weekly.Id -> {
alarmInterval = AlarmManager.INTERVAL_DAY * 7
}
Repeat.Monthly.Id -> {
alarmInterval = Utils.getMonthDuration()
}
Repeat.HalfYearly.Id -> {
alarmInterval = 15552000000L
}
Repeat.Annually.Id -> {
val calendar = GregorianCalendar()
alarmInterval = if (calendar.isLeapYear(Calendar.YEAR)) {
AlarmManager.INTERVAL_DAY * 366
} else {
AlarmManager.INTERVAL_DAY * 365
}
}
Repeat.CustomDays.Id -> {
alarmInterval = AlarmManager.INTERVAL_DAY
}
}
val operation =
PendingIntent.getActivity(
baseContext,
requestCode,
i,
PendingIntent.FLAG_UPDATE_CURRENT
)
val alarmManager: AlarmManager = baseContext.getSystemService(ALARM_SERVICE) as AlarmManager
val calendar = selectedDate
alarmManager.setRepeating(
AlarmManager.RTC_WAKEUP,
alarmTime,
alarmInterval,
operation
)
AlarmManager#setRepeating()
至少在KitKat之后就不再精确了。您应该查看.setExact或setExact的文档,因为上面已经提到需要空闲方法setRepeating不是exact您是否尝试过setExact
?是的,它与set exact一起正常工作,但我必须重复这些警报,是否有任何选项添加与set exact一起重复