So starten Sie einen Dialog (wie Alarm Dimiss / Snooze), der angeklickt werden kann, ohne den Bildschirm zu entsperren

8

Ich möchte die Tastensperre nicht dauerhaft umgehen, nur für diesen Moment. Zum Beispiel, wenn ein Alarm ausgelöst wird (zB Weckruf) kann ich ihn ohne Entriegelungsbildschirm ablehnen / schlummern. Ich möchte das gleiche Verhalten erreichen. Ich möchte anfangen ein Dialog, der auf dem gesperrten Bildschirm oben sein sollte. Ich kann auf Schaltfläche auf Dialog klicken, ohne zu entsperren. Ist das möglich? Wenn ja wie?

Ich möchte Folgendes nicht:

%Vor%     
user93796 25.07.2013, 18:51
quelle

3 Antworten

4

Vielleicht ist das nützlich. Implementieren Sie das Fenster Flag FLAG_SHOW_WHEN_LOCKED zusammen mit FLAG_TURN_SCREEN_ON in public WindowManager.LayoutParams ()

oder verwenden Sie KeyguardManager class (ist in API 13 veraltet, funktioniert aber immer noch) von

%Vor%

Verwenden Sie stattdessen FLAG_DISMISS_KEYGUARD und / oder FLAG_SHOW_WHEN_LOCKED ; Auf diese Weise können Sie die Tastensperre nahtlos ausblenden, während sich Ihre Anwendung in den Vordergrund und aus dem Vordergrund bewegt, und es sind keine speziellen Berechtigungen erforderlich. Ermöglicht das Sperren oder Entsperren der Tastatur. Rufen Sie eine Instanz dieser Klasse ab, indem Sie Context.getSystemService() aufrufen. Diese Klasse wird von KeyguardManager umschlossen.

WindowManager.LayoutParams


KeyguardManager


Ich hoffe, Sie verstehen jetzt, aber zögern Sie nicht zu fragen, ob Sie detailliertere Codierungsanweisungen für dieses Problem benötigen
Prost ..

    
Yash Krishnan 31.07.2013 11:50
quelle
0

Sie können dem aktuellen Fenster Flags hinzufügen, zum Beispiel:

%Vor%

Wenn Sie es nicht dauerhaft möchten, löschen Sie einfach die Flags, die Sie hinzugefügt haben, wenn Sie sie nicht benötigen, verwenden Sie die Methode:     clearFlags (Flaggen).

    
Will Yan 06.08.2013 09:49
quelle
-1

wenn Ihr Windows-Typ hoch genug eingestellt ist. Sie können Ihr Fenster über dem Sperrbildschirm anzeigen.

WindowsParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;

    
MengMeng 01.08.2013 11:40
quelle