Сервис работает некорректно

334
13 февраля 2017, 14:38

Получаю время с помощью

Date today = new Date();
SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("HH:mm");
String date = DATE_FORMAT.format(today);

и посылаю на сервер. Сервер же обрабатывает их.

Проблема в том, что сервис иногда перестает посылать данные. Сервис засыпает на 2 минуты и потом просыпается сам же.

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

Как понять такое поведение ?

Answer 1

Вот решение на английском SO ->

Этот код поможет сервису работать, когда экран заблокирован.

PowerManager mgr = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire();

Для обновления

wakeLock.release();

release нужно вызывать, когда экран блокируется. acquire - когда разблокируется

READ ALSO
Фоторедактор android

Фоторедактор android

Доброго времени сутокВозник такой вопрос

316
Конвертация кода из java в с++

Конвертация кода из java в с++

Есть код, написанный на Java:

295
Настройка эмулятора в Android Strudio

Настройка эмулятора в Android Strudio

ЗдравствуйтеНужно запрограммировать обработку мышки

304
Проверка победы в крестики-нолики по диагонали

Проверка победы в крестики-нолики по диагонали

Не могу составить правильные условия победы по диагоналиПри наличии 5 одинаковых символов по диагонали, игра все равно продолжается

480