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