Получаю время с помощью
Date today = new Date();
SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("HH:mm");
String date = DATE_FORMAT.format(today);
и посылаю на сервер. Сервер же обрабатывает их.
Проблема в том, что сервис иногда перестает посылать данные. Сервис засыпает на 2 минуты и потом просыпается сам же.
Как быть? Я добавил в меню батарейки отключение оптимизации к моему приложению, но все равно сервис засыпает и сам же пробуждается. Да еще и на зарядке сервис не засыпает. То есть подключаю телефон к ноуту, хочу посмотреть через мониторинг в чем проблема (сервис-то работает как надо). Думаю это от того, что он подключен к ноуту и заряжается. Но понять проблему это мне не помогло (я ж добавил приложение в список отключенных от оптимизации).
Как понять такое поведение ?
Вот решение на английском SO ->
Этот код поможет сервису работать, когда экран заблокирован.
PowerManager mgr = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
wakeLock.acquire();
Для обновления
wakeLock.release();
release
нужно вызывать, когда экран блокируется. acquire
- когда разблокируется
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Не могу составить правильные условия победы по диагоналиПри наличии 5 одинаковых символов по диагонали, игра все равно продолжается