2010-08-05 14 views
22

Ich schreibe eine Android-Anwendung, die von der Netzwerkaktivität abhängt, und der Alarmmanager weckt manchmal das Telefon aus dem Schlafzustand.Ein Android-Handy zwingen zu schlafen, um es zu testen?

Meine Frage ist, wie kann ich das auf dem Gerät zuverlässig testen? Idealerweise, wie kann ich das Telefon in einen vollen Schlafzustand zwingen. Wenn ich das nicht weiß, wie kann ich sicher sein, dass das Telefon vollständig eingeschlafen ist?

Wie testen Sie Ihren Alarm Manager/Wake Lock/Sleep-Code?

Antwort

1

Durch Drücken des Netzschalters am Gerät sollte das Gerät in den Ruhezustand versetzt werden. Es gibt auch eine goToSleep(long time) Methode in der PowerManager, aber das erfordert DEVICE_POWER Erlaubnis, die für Systemanwendungen reserviert ist.

+5

Danke:

Schritt 3

Um den Geräteruhezustand laufen zu bestätigen. Das ist, was ich gemacht habe, aber ich vermute, dass das Drücken der Macht das Display sofort in den Schlaf versetzt, aber die CPU nicht zwangsweise zum Schlafen zwingt (was anscheinend schließlich passieren kann) - nach dieser http://developer.android.com/ Referenz/Android/app/AlarmManager.html # RTC_WAKEUP) –

+0

Hmm, ich dachte, Macht tat dies. Im Debug-Log bin ich es gewohnt, eine Nachricht wie "Ich bin müde, gehe schlafen" zu sehen, wenn ich den Power-Knopf drücke, also bin ich mir ziemlich sicher, dass es den Prozessor schlafen/zurückskalieren wird. –

+0

Vielleicht ist das eine Sache pro Gerät. Ich benutze einen Milestone, und es sagt nicht, dass für mich .. der Bildschirm nur ausschaltet, und ich bekomme Log-Nachrichten wie immer. –

-2

wenn u wollen auf dem Emulator testen, dann von Bildschirm zu Hause drücken Menü -> Einstellungen -> Anwendungen -> Entwicklung -> deaktivieren Sie die Option wach bleiben

6

Schalten Sie den Bildschirm des Geräts/Emulator und führen Sie dann die folgende Befehle:

adb shell dumpsys battery unplug 
adb shell dumpsys deviceidle step 

Wiederholen Sie die zweite, bis Sie die Meldung "IDLE" erhalten. Dies funktioniert auf Geräten mit Android 6.0 oder neuer.

1

Schritt 1

a. Stellen Sie das Gerät in den Einstellungen auf "Entladen" (befolgen Sie die Anweisungen in den roten Kästchen).

b. Schalten Sie den Gerätebildschirm durch Drücken der "Power" -Taste aus (blaues Feld).

Turn of the phone in Emulator

Schritt 2

a. Um direkt das Gerät gestellt Modus schlafen, laufen:

adb shell dumpsys deviceidle force-idle

b. Oder gehen Sie langsam in den Schlafmodus, führen Sie:

adb shell dumpsys deviceidle step mehrere Male.

adb shell dumpsys deviceidle get deep