AlarmManager setInexactRepeating 睡眠应用后重复不正确
AlarmManager setInexactRepeating not correct repeat after sleep app
我想通过警报管理器创建重复服务。如果应用程序实时 运行 那么它每分钟都是正确的 运行。它在睡眠模式下每五分钟 运行。为什么不是 运行 每隔一分钟进入睡眠模式?
public static final long NOTIFY_INTERVAL = 60000;
AlarmManager alarms = getAlarmMAnager();
alarms.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), NOTIFY_INTERVAL, recurringAlarm);
这是意料之中的事情,并且由于各种原因
而可能发生
Android Oreo has limitations 运行 服务在后台,因此您可能会在 O 设备上遇到此问题
Doze mode 在 Android Marshmallow 之后可能会导致此问题,它将自行停止所有网络操作并移除 CPU 唤醒锁
- AlarmManager 不适用于在后台进行重复操作
我建议您对要在后台执行的任务使用 JobsSchedulers or Firebase Dispatchers,因为它会处理打盹模式、后台服务限制、不网络场景等
我想通过警报管理器创建重复服务。如果应用程序实时 运行 那么它每分钟都是正确的 运行。它在睡眠模式下每五分钟 运行。为什么不是 运行 每隔一分钟进入睡眠模式?
public static final long NOTIFY_INTERVAL = 60000;
AlarmManager alarms = getAlarmMAnager();
alarms.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), NOTIFY_INTERVAL, recurringAlarm);
这是意料之中的事情,并且由于各种原因
而可能发生Android Oreo has limitations 运行 服务在后台,因此您可能会在 O 设备上遇到此问题
Doze mode 在 Android Marshmallow 之后可能会导致此问题,它将自行停止所有网络操作并移除 CPU 唤醒锁
- AlarmManager 不适用于在后台进行重复操作
我建议您对要在后台执行的任务使用 JobsSchedulers or Firebase Dispatchers,因为它会处理打盹模式、后台服务限制、不网络场景等