webentwicklung-frage-antwort-db.com.de

Android Schlaf- / Standby-Modus

Ich habe eine App erstellt, die einen Dienst startet, der einen Timer startet, der nach einiger Zeit eine kleine Funktion auslöst. Dies funktioniert auf dem Emulator und auf dem Motorola Droid 1 hervorragend, auf dem Droid X jedoch nicht, wenn das Telefon in den Energiesparmodus versetzt wurde. Was ich entdeckt habe ist, dass der Timer zu pausieren scheint, wenn das Telefon im Schlaf ist. Dies scheint auf dem Droid 1 oder dem Emulator nicht zu funktionieren. Ich bin mir sicher, dass die Problemumgehung nicht zu schwierig ist, also bitte ich nicht um Hilfe (einmal) Ich möchte nur eine Erklärung, um dies besser zu verstehen.

Meine Frage ist, was genau "Schlafmodus" bedeutet do on Android= Systeme? Was hört es auf, was hört es nicht auf, etc. Mit Schlafmodus meine ich Natürlich, wenn Sie den Ein-/Ausschalter drücken und der Bildschirm schwarz wird. Was genau passiert? Jeder Einblick wird geschätzt.

44
Brandon

Ich bin sicher, dass die Problemumgehung nicht zu schwierig ist

Die Verwendung von AlarmManager ist etwas knifflig.

Meine Frage ist, was genau macht der "Schlafmodus" auf Android Systemen?

In erster Linie wird die CPU heruntergefahren. Auf dem Weg dorthin wurden auch nicht benötigte Funkgeräte (WiFi, GPS) abgeschaltet.

Was hört es auf, was hört es nicht auf, etc.

Das einzige, worauf Sie zählen können, ist das GSM- oder CDMA-Radio (für eingehende Anrufe, SMS und IP-Pakete) und AlarmManager.

Mit Schlafmodus meine ich natürlich, wenn Sie den Ein-/Ausschalter drücken und der Bildschirm schwarz wird.

Eigentlich ist das an sich kein Schlafmodus. Das ist der Bildschirm aus.

Das Gerät wechselt kurz danach in den Ruhemodus, wenn es durch nichts mit einem WakeLock wach gehalten wird. Es gibt jedoch keine Garantie dafür, dass innerhalb einer Millisekunde nach dem Drücken dieser Taste und dem Ausschalten des Bildschirms die CPU ausgeschaltet wird.

62
CommonsWare