Запустите FileObserver внутри JobIntentService - PullRequest
0 голосов
/ 03 мая 2018

Мое приложение запускает FileObserver внутри службы (служба запускается через 10 минут после создания временного файла и наблюдает за файлом в течение 60 секунд, чтобы удалить его, если он не используется).

Из-за ограничений Android 8 я не могу запустить службу из фона. AFAIK альтернативы:

  1. Запуск службы переднего плана (но я не хочу показывать значок уведомления)
  2. Использовать JobService (но доступно только после API 21)
  3. Использование JobIntentService

JobIntentService запускает onHandleWork в фоновом потоке, и по возвращении работа будет считаться завершенной. Итак, вопрос:

Как я могу ждать, пока FileObserver не закончится? Можно ли использовать что-то вроде while(!fileObserverFinished) Thread.sleep(100);? Есть ли лучший способ?

...