2011-12-16 1 views
8

J'avais fait une application qui transforme le téléphone en une webcam et utilise la connexion téléphonique pour envoyer l'image vers l'espace web. J'utilise une activité publicitaire qui permet à Alarm Manager d'exécuter un service toutes les 5 ou 15 minutes. Pour effectuer l'exécution complète du service, je fais un verrouillage de sillage, mais il est abandonné lorsque le service est terminé.Le verrouillage WiFi ne fonctionne pas, comment éviter l'économie d'énergie wifi?

Tout cela fonctionne parfaitement avec une connexion mobile, mais ne fait pas la même chose avec le wifi.

J'avais mis dans les options de wifi la politique "JAMAIS" pour le sommeil de wifi. Mais après un moment (pas toujours pareil) le téléphone semble passer en mode d'économie d'énergie: l'icône wifi est encore sur la barre d'état mais le téléphone ne peut pas se connecter. Même si j'utilise le navigateur ... alors je dois me déconnecter et me reconnecter manuellement. Le message dans le logcat: notify conn break (IOEx), close connection Même avec un téléphone branché !!!

pourquoi? (1)

Faire une expérience avec une autre application formée par une activité qui démarre un service fonctionnant toujours avec un verrou de sillage. J'ai donc ajouté le verrou wifi pour être sûr de la connectivité, mais aussi cette méthode fonctionne parfois et d'autres pas. Toujours le même notify conn break (IOEx), close connection pourquoi? (2)

La dernière expérience est dérivée de la première application (gestionnaire d'alarme) et pour être sûr que le wifi ne passe pas en mode veille/économie d'énergie (sorcière ??) j'ai allumé le téléphone en avion mode après l'exécution du code et je l'éteins (connexion sur) lorsque le cycle commence. Ce travail est ok pour deux jours, mais après seulement parfois c'est du travail (chaque heure ou deux au lieu de chaque 5 minutes, ou parfois ne fonctionne pas pendant une journée entière et puis redémarrer sans aucune raison ..). Alors, pourquoi le mode avion ne rétablit parfois pas la connexion wifi précieuse? (et d'autres fois c'est le cas?) (3)

Le téléphone est un Samsung Galaxy ACE avec la version 2.2 et est TOUJOURS branché pour charger.

+0

duplication possible: http://stackoverflow.com/questions/5147203/wifi-sleeps-even-with-lock –

Répondre

5

Pour empêcher l'appareil d'entrer en mode «économie d'énergie», essayez d'utiliser le verrouillage du type wifi du type WIFI_MODE_FULL_HIGH_PERF Ce n'est pas public jusqu'à ce que android 3.1.
mais vous pouvez toujours l'utiliser en codant en dur, la valeur de WIFI_MODE_FULL_HIGH_PERF est 3 (int).
Je l'ai essayé sur un appareil pré-3.1. Il fonctionne comme un charme! bonne chance!

Questions connexes