To pytanie StackOverflow bada, jak włączyć aplikację właściciela urządzenia, a tym samym tryb kiosku, w podglądzie programisty Androida L. Ponieważ metoda wymaga kompilacji użytkownika systemu Android, rootowania urządzenia i kopiowania pliku XML do głównego systemu plików, nie wydaje się odpowiednia do masowego wdrażania pojedynczego urządzenia z Androidem w firmie.
W jaki sposób aplikacje właściciela urządzenia będą instalowane na produkcyjnych urządzeniach z systemem Android L?
kiosk-mode
5.0-lollipop
Adrian Cox
źródło
źródło
Odpowiedzi:
( Edycja: zaktualizowano po kilku dalszych testach)
Sprawdź najnowszą dokumentację .
Ta funkcja nazywa się teraz przypinaniem ekranu, a aplikacja nie musi być właścicielem urządzenia. Jeśli właściciel urządzenia nie jest ustawiony, użytkownik zostanie poproszony o zaakceptowanie. Ale są z tym problemy związane z używaniem kiosku, wymienione poniżej.
Jeśli aktywujesz przypinanie ekranu programowo (aplikacja nie będąca właścicielem urządzenia) lub na urządzeniu za pomocą pinezki w ostatnich, otrzymasz następujące zachowanie:
Zostanie wyświetlone okno dialogowe z pytaniem użytkownika, czy chce włączyć przypinanie ekranu i czy wymaga hasła do wyjścia. Jeśli naciśnie Tak, pasek stanu i powiadomienia znikną, przyciski powrotu, powrotu i powrotu nie znikną. Stuknięcie w dom lub ostatnio powoduje pojawienie się toastu informującego użytkownika, jak wyjść z przypinania ekranu.
Użytkownik może następnie przytrzymać i cofnąć się, aby wyjść z ekranu przypinanego. Jeśli użytkownik wybierze żądanie hasła, zostanie wyrzucony bezpośrednio do ekranu blokady. To zachowanie oznacza, że nie jest odpowiednie dla kiosku imo. Ponieważ użytkownikom kiosku zbyt łatwo jest spojrzeć na ekran blokady.
Aby uzyskać odpowiedni tryb kiosku, musimy ustawić właściciela urządzenia. Dokumentacja Google mówi, że musisz to zrobić za pomocą NFC:
Używanie do tego NFC wydaje się nieco skomplikowane (co jeśli urządzenie nie ma NFC?). Nie zbadałem tego jeszcze, więc czy ktoś może podać informacje na temat ustawiania właściciela urządzenia przez NFC? Który teraz staje się głównym punktem twojego pytania. (tj. ustawienie właściciela urządzenia na urządzeniu niezrootowanym)
Ale aby potwierdzić, że zachowanie jest zgodne z oczekiwaniami, jeśli zrootujesz urządzenie, możesz ustawić właściciela urządzenia zgodnie z wcześniejszymi instrukcjami Google (dodając device_owner.xml), jak wspomniałem tutaj
Teraz możesz poprawnie zablokować aplikację, nie pojawi się okno dialogowe do zaakceptowania przez użytkownika, gdy włączone, ostatnie przyciski i przycisk Home znikną, a użytkownik nie będzie mógł opuścić aplikacji, dopóki aplikacja się nie odblokuje. Właściwy tryb kiosku. Przetestowałem to na Nexusie 7 2013 z najnowszą wersją Lollipopa.
Następujący fragment kodu włącza blokadę:
źródło
Nie mogę skomentować odpowiedzi, która jest nieco uciążliwa, ale stanowi uzupełnienie odpowiedzi tagy22, której można użyć
dpm
do ustawienia właściciela urządzenia. Więcej informacji tutaj .źródło
dpm
nie wykonałby zadania, jeśli w urządzeniu zostało ustawione konto (takie jak konto Google).