Мы пишем (отраслевое) приложение, которое поддерживает свой собственный файл журнала (я знаю, что мы должны использовать журнал Android, но в бизнес-целях нам нужно поддерживать этот файл журнала в очень специфическом формате.) Это приложение не для массового рынка, и пользователи будут хорошо осведомлены о разрядке батареи, от которой пострадает приложение.
Сначала приложение имеет службу, которая должна постоянно поддерживать соединение с сервером. Мы достигли этого за счет использования частичного wakelock, который работает, как и ожидалось, когда время экрана истекло.
Наша проблема, однако, когда время экрана истекло, наш модуль регистрации перестает записывать в файл, расположенный на внешнем хранилище, после повторного запуска экрана регистратор возобновляет работу через короткий промежуток времени.
Мы знаем, что приложение не уничтожается системой (из-за службы переднего плана), так как при перезапуске все остается, как должно. (Перезапуск возвращает нас к другому экрану)
Есть ли другой способ заставить систему держать поток открытым для файла? Почему блокировка частичного следа, которую мы держим, не делает этого уже?
Должен быть способ, которым мы можем писать в файл всегда.