Die Interaktion mit dem Sperrbildschirm ist schwierig. Android ermöglicht grundlegende Operationen mit zwei Fensterflags (FLAG_SHOW_WHEN_LOCKED und FLAG_DISMISS_KEYGUARD). FLAG_SHOW_WHEN_LOCKED funktioniert ziemlich konsistent, da es auch dann auf dem Sperrbildschirm angezeigt wird, wenn die Sicherheit aktiviert ist (die Sicherheit wird nicht umgangen, Sie können nicht zu einem anderen Nicht-FLAG_SHOW_WHEN_LOCKED-Fenster wechseln).
Wenn Sie nur vorübergehend etwas tun, z. B. während Musik abgespielt wird oder ähnliches, sind Sie wahrscheinlich meistens in Ordnung. Wenn Sie versuchen, einen benutzerdefinierten Sperrbildschirm zu erstellen, gibt es viele ungewöhnliche Interaktionen auf den verschiedenen Android-Plattformen. ("Hilfe! Ich kann meinen Wecker nicht ausschalten, ohne mein HTC-Telefon neu zu starten").
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html
FLAG_SHOW_WHEN_LOCKED
Fensterflag: Spezielles Flag, mit dem Fenster angezeigt werden, wenn der Bildschirm gesperrt ist.
FLAG_DISMISS_KEYGUARD
Fensterflag: Wenn das Fenster gesetzt ist, wird der Schlüsselschutz nur dann geschlossen, wenn es sich nicht um einen sicheren Schlossschlüsselschutz handelt. Da ein solcher Schlüsselschutz aus Sicherheitsgründen nicht benötigt wird, wird er nie wieder angezeigt, wenn der Benutzer zu einem anderen Fenster navigiert (im Gegensatz zu FLAG_SHOW_WHEN_LOCKED, das sowohl sichere als auch nicht sichere Schlüsselschützer nur vorübergehend verbirgt, aber sicherstellt, dass sie wieder angezeigt werden, wenn der Benutzer zu wechselt eine andere Benutzeroberfläche, die sie nicht verbirgt). Wenn der Schlüsselschutz derzeit aktiv und sicher ist (erfordert ein Entsperrmuster), muss der Benutzer ihn noch bestätigen, bevor dieses Fenster angezeigt wird, es sei denn, FLAG_SHOW_WHEN_LOCKED wurde ebenfalls festgelegt. Konstanter Wert: 4194304 (0x00400000)