Android не удалось установить http-вызов в режиме глубокого сна - PullRequest
0 голосов
/ 24 апреля 2018

У меня планшет galaxy tabA на Android 7.0 , и я использую Retrofit 2 , чтобы каждые 15 минут отправлять http-вызов на мой сервер для регистрации информации о планшете. Мой планшет переходит в режим « Deep Sleep », если он не заряжается более 5 минут с выключенным экраном.
В этом режиме глубокого сна ни один из моих вызовов не может попасть на мой сервер, и я получаю «ошибку тайм-аута соединения».

Кто-нибудь лучше понимает режим " глубокий сон " и объясняет здесь, как лучше всего добиться моего поведения (отправлять журналы каждые 15 минут в сутки / 24 часа в сутки)?

Может кто-нибудь объяснить, является ли это ошибкой модернизации, функцией Android или чем-то еще?

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Для решения этой проблемы вы должны использовать библиотеку evernote: https://github.com/evernote/android-job

Фактически, «режим ожидания» блокирует доступ к сети в состоянии глубокого сна и периодически просыпается, чтобы открыть доступ к сети.
Эта библиотека помогла мне поймать эти священные периодические окна с сетью для отправки журналов моего сервера.

Просто следуйте инструкции в readme, чтобы настроить эту функцию.

0 голосов
/ 24 апреля 2018

Я думаю, вы должны прочитать об этом

Режим ожидания Начиная с Android 6.0 (уровень API 23)

Если пользователь оставляет устройство отключенным и неподвижным в течение периода время, когда экран выключен, устройство переходит в режим ожидания. В режиме Doze, система пытается сэкономить заряд батареи, ограничивая доступ приложений к сетевые и ресурсоемкие сервисы. Это также предотвращает приложения от доступ к сети и откладывает их работу, синхронизацию и стандарт сигналы тревоги.

Периодически система выходит из режима Doze на короткое время, чтобы позволить приложениям завершить свою отложенную деятельность. Во время этого окна обслуживания, система запускает все ожидающие синхронизации, задания и тревоги, а также позволяет приложениям доступ к сети.

Для получения дополнительной информации прочитайте это: Оптимизация для режима ожидания и ожидания приложения

, поэтому вам нужно разбудить телефон, когда вам нужно выполнить задачу, например, отправить уведомление или еще что-нибудь ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...