Я создал приложение, которое подключается к моему серверу каждые 5-10 минут и проверяет наличие каких-либо изменений в базе данных.
Поэтому я использую Сервис, чтобы приложение могло работать в фоновом режиме, а пользователь мог закрыть приложение и получать сообщения в строке состояния. Внутри я использую Thread, чтобы приложение спало 5-10 минут. Проблема начинается, когда я блокирую телефон. чем приложение просто останавливается (это потому, что когда вы блокируете ваш телефон переходит в «спящий режим»), я понял, что мне это нужно:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, 'My Tag');
wl.acquire();
Это заставляет телефон не спать, кроме экрана. Но там я застрял. Это прекрасно работает, но сильно разряжает батарею. 10% в час :( И я считаю, что нет проблемы в том, что приложение должно заставить эти веб-сервисы запрашивать все их запросы, кроме той функции, которая заставляет этот телефон быть живым.
Итак, мой вопрос, есть ли какое-то другое решение, которое я могу использовать, потому что у меня есть какое-то приложение на телефоне, которое работает в backgorund, но они вообще не разряжают батарею (avast, защитник сока и т.д. ).
Любая идея очень полезна!
привет!