Android Lollipop - Sperrbildschirm für Popup-Aktivität umgehen

Ich habeActivity1 ist ein Listenbildschirm mit Elementen. Jeder Artikel kann in einem separaten @ angezeigt werdActivity2 welches als Popup angezeigt wird.Activity1 kann vom Hintergrund aus gestartet und angezeigt werden, auch wenn der Bildschirm gesperrt ist.Activity1 kann auch festlegen, dass der Inhalt eines Elements auf dem Listenbildschirm automatisch angezeigt wird, indem @ gestartet wirActivity2. Wir können den Sperrbildschirm umgehen, da beide Aktivitäten das @ habWindowManagerFlags.DismissKeyguard aktiviert imOnCreate Methode

Vor Android Lollipop hat alles wie erwartet funktioniert. Aber jetzt das PopupActivity2 ist nur sichtbar, wenn das Gerät manuell entsperrt wurde. Wenn ich @ ändeActivity2 Vollbild seinActivity dann scheint alles zu funktionieren (mit Ausnahme des Übergangs von einer Aktivität zu einer anderen wird der Sperrbildschirm kurz angezeigt). Irgendwelche Ideen, wie man das sauber behebt?

Auch ich habe nur die Galaxy S6 / S6 Edge-Geräte ausprobiert, auf denen diese neue Knox-Sicherheitsfunktion installiert ist.

Bearbeite Ich habe mich verändertActivity2 ein ... zu seinDialogFragment anstelle einesActivity. Dies funktionierte am besten für mich, da die vorgeschlagene Antwort Code verwendete, der je nach Ziel-SDK veraltet oder veraltet ist.Activity1 verwendet die folgenden Flags, um den Sperrbildschirm bei Bedarf zu umgehen.

getWindow().addFlags(LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(LayoutParams.FLAG_SHOW_WHEN_LOCKED);

Schon seitActivity2 ist jetzt nur einDialogFragment, verwendet die Fensterflags des übergeordnetenActivity1. Ich entferne auch diese Flags auf dem "android.intent.action.SCREEN_OFF" Aktion, sodass die Aktivität den Sperrbildschirm nur umgeht, wenn sie als Benachrichtigung gestartet wird, und nicht jedes Mal, wenn sich die Aktivität oben im Stapel befindet. In der Antwort erwähnte Berechtigungen sind erforderlich.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage