我想通过闹钟管理器创建重复服务。如果应用程序在实时运行,则每隔一分钟运行正确。它处于睡眠模式,每五分钟运行一次。为什么在睡眠模式下每分钟都没有运行?
public static final long NOTIFY_INTERVAL = 60000;
AlarmManager alarms = getAlarmMAnager();
alarms.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), NOTIFY_INTERVAL, recurringAlarm);
答案 0 :(得分:1)
这是非常期待的,并且可能由于各种原因
而发生Android Oreo has limitations,因此您可能会在O设备上遇到此问题
Doze mode可以导致这种情况,它将停止所有网络操作本身&拿走CPU唤醒锁
我建议您使用 JobsSchedulers 或 Firebase Dispatchers 执行您要在后台执行的任务,因为它会照顾打盹模式,后台服务限制,无网络场景等。