Мне нужен способ запуска чего-либо во временном окне, даже если устройство находится в режиме ожидания и в режиме ожидания.
Кажется, что AlarmManger setExactAndAllowWhileIdle сделает свое дело. Тем не менее, я хотел бы сохранить батарею, и мне не нужно, чтобы он работал в точное время, окно будет делать. Из прочитанного мною чтения я не думаю, что setWindow AlarmManager будет инициировать что-либо, если устройство будет находиться в режиме ожидания во время окна. Хотя мне не нужно, чтобы он запускался в точное время, мне нужно, чтобы он запускался во время окна, даже если он простаивает.
Есть ли общий способ сделать это?
Я думал о создании setWindow с использованием моих windowStart и windowLength, а затем о выполнении setExactAndAllowWhileIdle для windowStart + windowLength.
Если вызывается setWindow (устройство не было свободным), то я бы отменил setExactAndAllowWhileIdle.
Но есть ли лучший способ сделать это?
Я также рассмотрел WorkManager, но понимаю, что если мое допустимое временное окно находится во время простоя / ожидания устройства, оно не будет работать до тех пор, пока оно не закончится.