WLAN-Sperre funktioniert nicht, wie kann man die WLAN-Stromsparfunktion verhindern?

8

Ich hatte eine App entwickelt, die das Telefon in eine Webcam verwandelt und die Telefonverbindung verwendet, um ein Bild an den Internet-Webspace zu senden.

Ich verwende Anzeigenaktivitäten, mit denen ein Alarm Manager alle 5 oder 15 Minuten einen Dienst ausführen kann. Um die gesamte Ausführung des Dienstes durchzuführen, mache ich eine Wake-Sperre, die aber bei der Ausführung des Dienstes gelöscht wird.

All dies funktioniert perfekt mit der mobilen Verbindung, aber nicht mit WLAN.

Ich hatte in Wi-Fi-Optionen die Politik "NIE" für WLAN-Schlaf eingestellt. Aber nach einer Zeit (nicht immer die gleiche) scheint das Telefon in den Energiesparmodus zu gehen: Wifi-Symbol ist noch auf der Statusleiste, aber das Telefon ist nicht in der Lage zu verbinden. Selbst wenn ich den Browser verwende, muss ich die Verbindung trennen und manuell neu verbinden. Die Nachricht im Logcat: notify conn break (IOEx), close connection Auch mit Telefon an die Steckdose angeschlossen !!!

warum? (1)

Experimentieren Sie mit einer anderen App, die von einer Aktivität gebildet wird und einen Dienst startet, der immer mit einer Wake-Sperre ausgeführt wird. Also habe ich das Wifi-Lock hinzugefügt, um sicher zu sein, Konnektivität, aber auch diese Methode läuft manchmal und einige andere nicht. Immer die gleiche notify conn break (IOEx), close connection warum? (2)

Das letzte Experiment ist von der ersten App (Alarm Manager) abgeleitet und um sicher zu sein, dass das Wifi nicht in Schlaf / Energiesparmodus geht (witch one ??) Ich habe das Telefon im Flugzeugmodus nach der Ausführung drehen des Codes und ich schalte es aus (Verbindung an), wenn der Zyklus beginnt. Diese Arbeit ist für zwei Tage in Ordnung, aber nach nur manchmal ist es Arbeit (jede Stunde oder zwei statt alle 5 Minuten, oder manchmal funktioniert nicht für einen ganzen Tag und dann ohne Grund neu zu starten ..). Warum stellt der Flugmodus die vorherige WLAN-Verbindung nicht wieder her? (Und manchmal auch?) (3)

Das Telefon ist ein Samsung Galaxy ACE mit originaler 2.2 und ist IMMER zum Aufladen angeschlossen.

    
Lork 16.12.2011, 08:56
quelle

1 Antwort

5

Um zu verhindern, dass das Gerät in den Energiesparmodus wechselt, versuchen Sie, die WLAN-Sperre des Typs WIFI_MODE_FULL_HIGH_PERF Es ist nicht öffentlich verfügbar bis Android 3.1.
aber Sie können es immer noch hartcodieren, der Wert von WIFI_MODE_FULL_HIGH_PERF ist 3 (int).
Ich habe es auf einem Pre-3.1-Gerät versucht. Es wirkt wie ein Zauber! Viel Glück!

    
accuya 13.01.2012 08:57
quelle