Повторение задачи в службе переднего плана в режиме ожидания

Я работаю над приложением, в котором мне нужно выполнять повторяющуюся задачу с фиксированным интервалом (скажем, через 2 минуты), которая должна завершиться даже в режиме ожидания. Мои наблюдения упомянуты ниже -

  1. Выполнение повторяющейся задачи с использованием сигналов тревоги (с использованием флага RTC) неточно. Система Android выполняет пакетную обработку сигналов тревоги. Если мы используем RTC_WAKEUP, тогда он лучше, чем RTC, но он показывает количество WAKEUP в Android Vitals, что не очень хорошо.
  2. Планировщики заданий полезны, но не будут работать с меньшим интервалом, например, 2 минуты. Я пробовал Firebase Jobdispatcher, но это тоже не очень точно, я начал Job с 2-х минутным временем триггера, но оно варьировалось от 10-20 минут.
  3. Используемые обработчики и таймеры для повторения задачи в службе переднего плана. В этом сценарии служба переднего плана продолжает работать в режиме ожидания, но обработчики и таймер перестают повторять задачу. Я читал о Handlers.postDelayed () и обнаружил, что это также зависит от режима ожидания.

Я не хочу приобретать WAKELOCK для этой повторяющейся задачи.

Может ли кто-нибудь предложить мне лучший / чистый способ, с помощью которого мы можем выполнять короткие интервальные повторяющиеся задачи в режиме ожидания?

Для справки -

Android: что такое лучший способ подготовить повторяющиеся фоновые задачи Android Oreo?

Как работает режим дремоты влияют на фоновые / передние службы с частичной / полной блокировкой пробуждения или без нее?


comment
какое-нибудь обновление? Я бы хотел сделать то же самое, что и ты   -  person sebasira    schedule 14.01.2019


Ответы (1)


Не совсем прямой ответ, но все же - мне нужно было запланировать действие каждую минуту в моем сервисе переднего плана (плюс-минус секунду).

К счастью, я также снимал датчики в этой службе переднего плана, я проверил событие onSensorChanged, прошло ли нужное время, и действую при необходимости.

person RoyBS    schedule 24.09.2019