Android Froyo и Wifi - PullRequest
       19

Android Froyo и Wifi

2 голосов
/ 14 июля 2010

По умолчанию политика сна Wi-Fi - это «Спящий режим на экране».

При этой политике фоновая служба может позже активировать Wifi с использованием некоторого API?1004 * Пытаюсь сделать следующее, но не работает: Когда моя Фоновая служба просыпается, она вызывает «ConnectivityManager.getActiveNetworkInfo ()» для получения активной сети.Поскольку беспроводное соединение отключено, я попытался разбудить его с помощью «WifiManager.startScan» на ранее используемом соединении Wi-Fi.Но все равно не получается подключение к Wi-Fi.

Есть идеи?Я предпочтительно не хочу менять свою политику сна на «Никогда».

Спасибо, Гемант

1 Ответ

0 голосов
/ 28 июля 2010

Для этого не существует простых простых решений.Чтобы с высокой вероятностью убедиться, что у вас есть WIFI-соединение, когда телефон / экран переходит в спящий режим, лучше всего выключить его.Здесь вы найдете много деталей - http://wififixer.wordpress.com/

Важно понимать, что в спящем режиме Wi-Fi переходит в режим низкого энергопотребления.Это будет сложно затем программно проверить, так как это может иметь подключение к Wi-Fi, но подключение Wi-Fi слишком слабое или слишком медленное для завершения HTTP-запроса, и, следовательно, время ожидания истекло.Это заставит вас также проверить скорость подключения к Wi-Fi, а также у вас будет активная сеть, но довольно паршивая.

Правильная обработка экранирования, когда происходит таймаут для HTTP-вызова, который вы делаете, делает егонормально использовать, но в конечном итоге единственный способ поддерживать фоновый поток, постоянно работающий для получения данных, выполним только тогда, когда у вас есть режим Wifi, чтобы никогда не спать.

Это сложно и не самый лучший способ, который я знаю.:-( Однако это единственный путь, который я нашел, который достаточно надежен.

...