2016-09-26 3 views
12

Ich habe eine Funktion, um vier Zustände des Telefonbildschirms zu bestimmen: Bildschirm ein, Bildschirm aus, Bildschirm ein mit Sperre, Bildschirm ein ohne Sperre. Meine Funktion istZurückgeben eines Fehlerergebnisses in inKeyguardRestrictedInputMode()

Die obige Funktion gibt korrigierte Status des Bildschirms zurück. Es hat jedoch einen Fehler, wenn ich einen weiteren Code wie folgt hinzufüge:

Der Index kann per Knopfdruck geändert werden. Jetzt ist der falsche Zustand des Bildschirms passiert. Es gibt immer screen_on_lock_screen zurück, obwohl der Bildschirm in screen_on_no_lock_screen ist. Wie kann ich mein Problem beheben?

+0

Können Sie mehr Code hinzufügen? Welche Klasse und Methode enthält das zweite Code-Snippet? – Vall0n

Antwort

2

mit KeyguardManager.NewKeyguardLock ist seit API Level 13 veraltet. Haben Sie es mit FLAG_DISMISS_KEYGUARD und FLAG_SHOW_WHEN_LOCKED der WindowManager.LayoutParams versucht.

diese Klasse wurde in API-Ebene 13. veraltet Verwenden FLAG_DISMISS_KEYGUARD und/oder FLAG_SHOW_WHEN_LOCKED statt; Auf diese Weise können Sie die Tastensperre nahtlos ausblenden, während sich Ihre Anwendung zwischen den Vordergrund und aus dem Vordergrund bewegt, und erfordert keine speziellen Berechtigungen. > Handle von newKeyguardLock (String) zurückgegeben, mit dem Sie die Tastensperre deaktivieren /> wieder aktivieren können.

Hier der Link der Android documentation.

Hoffe es hilft!

Verwandte Themen