Как сделать так, чтобы Android AlarmManager выполнял setWindow, но разрешал в режиме ожидания? - PullRequest
1 голос
/ 23 июня 2019

Мне нужен способ запуска чего-либо во временном окне, даже если устройство находится в режиме ожидания и в режиме ожидания. Кажется, что AlarmManger setExactAndAllowWhileIdle сделает свое дело. Тем не менее, я хотел бы сохранить батарею, и мне не нужно, чтобы он работал в точное время, окно будет делать. Из прочитанного мною чтения я не думаю, что setWindow AlarmManager будет инициировать что-либо, если устройство будет находиться в режиме ожидания во время окна. Хотя мне не нужно, чтобы он запускался в точное время, мне нужно, чтобы он запускался во время окна, даже если он простаивает.

Есть ли общий способ сделать это?

Я думал о создании setWindow с использованием моих windowStart и windowLength, а затем о выполнении setExactAndAllowWhileIdle для windowStart + windowLength. Если вызывается setWindow (устройство не было свободным), то я бы отменил setExactAndAllowWhileIdle. Но есть ли лучший способ сделать это?

Я также рассмотрел WorkManager, но понимаю, что если мое допустимое временное окно находится во время простоя / ожидания устройства, оно не будет работать до тех пор, пока оно не закончится.

...