Выйти из режима ожидания без использования экрана пробуждения

Я работаю над приложением для отправки данных на сервер каждые 20 минут. Здесь я нашел одну трудность из-за android idle mode, Во время idle mode доступ к сети был отключен для приложений, как указано здесь. Так что в настоящее время я не могу общаться с сервером. Чтобы преодолеть это, я нашел FULL_WAKE_LOCK, который выведет устройство из режима ожидания. Но на самом деле он пробуждает экран всякий раз, когда мы пытаемся отправить данные. Так что нам это не нужно. Поэтому я попытался с PARTIAL_WAKE_LOCK, который будет будить процессор с выключенным экраном. Но в это время сеть тоже отключена. Поэтому я не могу отправить данные.

Я много искал. Но я не нашел хорошей статьи относительно этого. Итак, кто-нибудь, не могли бы вы сказать мне программный способ выхода из режима ожидания без пробуждения экрана.

Благодарю.

1 ответ

Может быть, поздно. Mahendran Sakkarai, у меня была похожая ситуация, но для системы отслеживания. Через некоторое время все мои сервисы оказались в режиме ожидания. Я старался WhiteList, PartialWakeLock, не работает.ActivityRecognition и LocationServices были вниз на некоторое время.

Решение прошло регистрацию широковещательного приемника с фильтром намерений для PowerManager.ACTION_DEVICE_IDLE_MODE_CHANGEDи звонит if(isDeviceIdleMode()) затем restart LocationUpdated, Этот обходной путь заставил устройство выйти из режима ожидания.

Другие вопросы по тегам