Hier ist mein Szenario. Ich habe eine App, die Hintergrundsounds spielt. Mit dem BroadcastReceiver kann ich feststellen, wann sich das Display ausschaltet, und dann die Töne löschen. Ich kann auch sagen, ob der Bildschirm wieder eingeschaltet wird. Wenn das Gerät jedoch im Sperrzustand ist, möchte ich nicht, dass das Audio startet. Daher warte ich auf die ACTION_USER_PRESENT-Absicht, um zu signalisieren. Das alles funktioniert, außer wenn der Benutzer den Bildschirm nach dem Ausschalten schnell wieder einschaltet, erhalten Sie weder den Sperrbildschirm noch die Nachricht ACTION_USER_PRESENT. Also, gibt es eine Möglichkeit zu sagen, wenn der Bildschirm wieder an, wenn das Gerät gesperrt ist oder nicht, was ich denke auch schlafen bedeutet oder nicht?So erkennen Sie, ob das Gerät schläft
9
A
Antwort
9
Sie können versuchen, KeyguardManager zu überprüfen, ob das Gerät gesperrt ist. Hier ist ein Code (ich habe das selbst nicht versucht):
Viel Glück!
12
((PowerManager) getSystemService(Context.POWER_SERVICE)).isScreenOn()
0
((PowerManager) getSystemService(Context.POWER_SERVICE)).isScreenOn()
sagt, wenn der Bildschirm eingeschaltet ist. Es wird also wahr, wenn der Bildschirm eingeschaltet ist, aber das Gerät gesperrt ist. Statt ,
inKeyguardRestrictedInputMode()
wahr wird nur, wenn das Gerät gesperrt ist.
Verwandte Themen
- 1. So erkennen Sie, ob das Android-Gerät ausgeschaltet wurde
- 2. Erkennen, ob das Gerät iPhone 5s ist
- 3. Erkennen, ob das Gerät USB 3.0 verwendet
- 4. Erkennen Sie, dass das Gerät vibriert?
- 5. Ermitteln, ob Thread schläft
- 6. Android/Java: Erkennen, ob das Gerät eine BACK-Kamera hat
- 7. erkennen, wenn das Gerät ist
- 8. Wie kann ich erkennen, ob das Gerät ein Android-Gerät ist?
- 9. So erkennen Sie den Handbenutzer, der sein Gerät hält
- 10. So erkennen Sie Gerät zurück Schaltfläche Ereignis in Codenameone
- 11. Identifizieren, ob das Gerät Kindle ist
- 12. So erkennen Sie das Wechseln zwischen Benutzern
- 13. Eclipse das gleiche Gerät mehrmals zu erkennen
- 14. Überprüfen Sie, ob das Gerät Daten im Netzwerk austauscht - Android
- 15. So erkennen Sie, ob die Schriftgröße im Browser gestiegen ist
- 16. So erkennen Sie DragLeave
- 17. So erkennen Sie, ob der Benutzer online ist, wenn Sie das Firebase iOS SDK verwenden
- 18. So erkennen Sie, ob der Kindknoten berührt wurde: Sprite Kit
- 19. C# - So erkennen Sie, ob die Website besucht wurde
- 20. So ermitteln Sie, ob SmartLock auf dem Gerät aktiviert ist
- 21. So erkennen Sie falsches Schreiben
- 22. So erkennen Sie Hotswap
- 23. So erkennen Sie, ob Element 'auto' Höhe hat
- 24. Android - So erkennen Sie, ob ein Headset ein Mikrofon hat
- 25. So erkennen Sie, ob die Datenprüfsummenfunktion in Postgres aktiviert ist
- 26. So erkennen Sie serverseitig, ob Cookies deaktiviert sind
- 27. So erkennen Sie, ob eine Taste gedrückt wird
- 28. So erkennen Sie, ob die Chrome-Registerkarte abgestürzt ist
- 29. Erkennen, ob Gerät in Bewegung ist in Android
- 30. Ermitteln, ob das Gerät UIVisualEffectView richtig anzeigt?
Wenn das Gerät tatsächlich schläft, führt der Anwendungsprozessor keinen Code aus. Bildschirm gesperrt ist etwas ganz anderes. –
Fair genug. Wie kann ich feststellen, ob der Bildschirm gesperrt ist? – iterator
http://stackoverflow.com/questions/3170563/android-detect-phone-lock-event –