Фоновое ограничение службы Android: FileObserver в службе или использовать планировщик? - PullRequest
0 голосов
/ 21 апреля 2019

Мне нужно реализовать fileObserver в фоновом режиме, поэтому, если новый файл поступает в наблюдаемую директорию, должно быть запущено уведомление. Учитывая ограничение фона, реализованное в Oreo, проще всего просто запустить fileObserver в сервисе переднего плана (с уведомлением) и продолжить прослушивание. Однако это будет держать мое приложение в списке батарей, и я бы предпочел избегать добавления уведомлений все время. Другое решение состоит в том, чтобы реализовать планировщик в workmanager, но для этого потребуется, чтобы я читал весь каталог очень часто (каждую минуту или даже меньше времени), чтобы просто определить, поступил ли какой-либо новый файл. Это означает, что я буду избегать использования fileObserver, но буду тратить драгоценные ресурсы без необходимости каждую минуту.

Я надеюсь, что кто-то мог бы предложить, если есть какой-либо другой более эффективный способ реализовать функциональность fileObserver, гарантирующую функциональность, но сохраняющую использование ресурса по крайней мере.

1 Ответ

0 голосов
/ 21 апреля 2019

Вы можете использовать WorkManager или JobScheduler с триггерами URI контента.Это лучший способ сделать это.

...