2016-09-19 3 views
1

Ich habe eine Anwendung, die im Kiosk-Modus (Activity.startLockTask) ausgeführt werden muss, wenn das Gerät an einige Benutzer gegeben wird (nur Administratoren können den Kioskmodus mit einem Passwort freischalten). Leider ist in diesem Modus die Statusleiste ausgeblendet. Die Zeit, der Netzwerkstatus (um zu wissen, ob einige Fernoperationen abgeschlossen werden können) und der Batteriestatus sind für den Benutzer wichtig.Anzeige von Zeit, Netzwerk und Akkustatus im Kioskmodus

Gibt es eine Möglichkeit, die Statusleiste (oder eine benutzerdefinierte mit nur den benötigten Informationen) im Kiosk-Modus anzuzeigen? Muss ich die Zeit-, Netzwerk- und Batterieanzeige selbst zeichnen?

+0

Konnten Sie eine Lösung dafür finden? – zeeshan

Antwort

0

ich nie getestet haben, aber wenn im Kiosk-Modus (? Android 5 Screen-Pinning) ist, können Sie versuchen, die Statusleiste zurück über Windowmanager-API oder setSystemUiVisibility(), lesen Sie hier zu aktivieren: https://developer.android.com/training/system-ui/status.html

ADDED: Status Balkenverdunkelung scheint besser zu Ihrem Zweck zu passen, da es wahrscheinlich die Statusleiste deaktiviert, aber sichtbar bleibt: https://developer.android.com/training/system-ui/dim.html

+0

Ich habe 'setSystemUiVisibility' ohne Erfolg versucht. Ich muss auch verhindern, dass der Benutzer die App verlässt, also benutze ich den KioskMode (den der Benutzer leicht verlassen kann, aber das ist ein erster Blocker) und einige Hacks, die die aktuelle Anwendung überwachen (einige Ideen von hier: http: // www .andreas-schrade.de/2015/02/16/android-tutorial-wie-erstellen-a-kiosk-mode-in-android /) – alextk

+0

wäre es richtig, den Link zu Ihrer Beschreibung hinzuzufügen. Der Artikel beschreibt Kiosk-Modus für Android 4-Geräte, in Android 5 gibt es einige System-Unterstützung für diesen Modus, nur zur Information: https://sdgsystems.com/blog/implementing-kiosk-mode-android-part-3-android-lollipop . In Ihrem Artikel sehe ich nicht, wo der Vollbildmodus eingestellt ist, ich denke, dass Sie dort die Statusleiste einstellen können. – Mixaz

+0

In der Tat ist der Link ziemlich alt und nicht relevant für Android 5+, sorry. Ich benutze einen Teil davon (um die App nach dem Neustart neu zu starten). Wie in der Beschreibung aktualisiert, verwende ich 'Activity.startLockTask' (aber ich bin keine Gerätebesitzer-App). Ohne zuvor in den immersiven Modus zu wechseln, verbirgt sich durch einfaches Aufrufen dieser Methode die Statusleiste auf keine Weise (die mir bekannt ist), um sie wiederherzustellen, außer durch den Aufruf von stopLockTask ... – alextk