2011-12-16 11 views
8

Avevo fatto un'app che trasforma il telefono in una webcam e utilizza la connessione telefonica per inviare immagini allo spazio web su internet.Il blocco WiFi non funziona, come impedire il risparmio energetico wifi?

Sto utilizzando un'attività pubblicitaria che imposta un gestore allarmi per eseguire un servizio ogni 5 o 15 minuti. Per eseguire l'intera esecuzione del servizio, eseguo il wake lock, ma si verifica quando il servizio è terminato.

Tutto questo funziona perfettamente con la connessione mobile ma non fa lo stesso con il wifi.

Avevo impostato in opzioni wifi la politica "MAI" per il sonno wifi. Ma dopo un po '(non sempre lo stesso) il telefono sembra andare in modalità di risparmio energetico: l'icona wifi è ancora sulla barra di stato ma il telefono non è in grado di connettersi. Anche io uso il browser ... quindi devo disconnetterti e riconnetterti manualmente. Il messaggio nel logcat: notify conn break (IOEx), close connection Anche con il telefono collegato all'alimentazione !!!

perché? (1)

Esecuzione di esperimenti con un'altra app formata da un'attività che avvia un servizio sempre in esecuzione con un blocco di attivazione. Quindi ho aggiunto il blocco wifi per essere sicuro della connettività, ma anche questo metodo a volte viene eseguito e altri no. Sempre lo stesso notify conn break (IOEx), close connection perché? (2)

L'ultimo esperimento è derivato dalla prima app (gestore allarmi) e per essere sicuri che il wifi non vada in modalità sleep/power save (stregone ??) ho acceso il telefono in aereo modalità dopo l'esecuzione del codice e lo spengo (connessione attiva) all'avvio del ciclo. Questo funziona bene per due giorni, ma dopo solo qualche volta è lavoro (ogni ora o due invece ogni 5 minuti, o qualche volta non funziona per un giorno intero e poi riavvia senza alcun motivo ..). Quindi, perché la modalità aereo a volte non ristabilisce l'apparente connessione wifi? (e altre volte lo fa?) (3)

Il telefono è un Samsung Galaxy ACE con originale 2.2 ed è SEMPRE collegato alla carica.

+0

possibile duplicato: http://stackoverflow.com/questions/5147203/wifi-sleeps-even-with-lock –

risposta

5

Per impedire al dispositivo di entrare in "modalità di risparmio energetico", provare a utilizzare il blocco wifi di tipo WIFI_MODE_FULL_HIGH_PERF Non è disponibile fino a Android 3.1.
ma è ancora possibile utilizzarlo con hard-coding, il valore di WIFI_MODE_FULL_HIGH_PERF è 3 (int).
L'ho provato su un dispositivo pre-3.1. Esso funziona magicamente! in bocca al lupo!