2011-11-22 10 views
13

Tworzę aplikację, która powinna być używana w sklepie wyświetlającym informacje o produkcie. Używam tabletu z Androidem, aby zapewnić klientowi interaktywne informacje. Użytkownik nie powinien robić nic więcej z tabletem.Zastępowanie lub dezaktywowanie menu ustawień

Do tej pory udało mi się wyłączyć przycisk Back and Home. Aplikacja rozpoczyna się po zakończeniu rozruchu urządzenia. W związku z tym nie może uruchomić żadnej innej aplikacji po ponownym uruchomieniu urządzenia (nie byłem w stanie zapobiec ponownemu uruchomieniu urządzenia przez użytkownika).

Problem polega na tym, że klient może otworzyć menu ustawień i wymusić zabicie mojej aplikacji.

Czy istnieje sposób, aby wyłączyć menu ustawień (np. Chroniąc je hasłem) lub przesłonić go przez moją aplikację?

Nie planuję dodawać mojej aplikacji do rynku Android, ponieważ powinna ona działać tylko w sklepach.

+0

Czy aplikacje innych firm działają? następnie spróbuj AppLock – Eswar

Odpowiedz

24

Dowiedziałem się, jak zastąpić menu ustawień.

Ponieważ menu Ustawienia jest otwierany poprzez dorozumiane intencyjnego po prostu trzeba dodać odpowiednią intencję filtruje mojej działalności:

<intent-filter > 
    <action android:name="android.settings.SETTINGS" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 
<intent-filter > 
    <action android:name="android.settings.WIRELESS_SETTINGS" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 

To pozwoli użytkownikowi wybrał aplikację Ustawienia chce otworzyć. Jeśli ustawię teraz moją aktywność jako domyślną, użytkownik nie będzie mógł uzyskać dostępu do menu ustawień za pośrednictwem paska stanu.

+0

Świetnie sprawdziła się na moim Lenovo YT3-850F, Lollipop 5.1.1. – Storo

+0

jego. właśnie. niesamowite. –

+0

@ js- Próbuję utworzyć niestandardowy program uruchamiający dla mojego urządzenia i chcę usunąć możliwość zmiany programu uruchamiającego, za wyjątkiem administratora. Czy istnieje sposób na programowe usunięcie ustawienia HOME z poziomu aplikacji Ustawienia? Lub usunąć możliwość dostępu do aplikacji Ustawienia razem? Nie chcę, aby użytkownik mógł wrócić do domyślnego programu uruchamiającego Androida. –

0

Jestem prawie pewien, że nie można całkowicie wyłączyć menu ustawień.

Co można zrobić, to zajrzeć do czegoś w stylu usuwania paska stanu (ten na dole).

Zobacz coś takiego: TabletBar Hider. Nie testowałem tego i wymagałoby to również znalezienia sposobu uruchomienia aplikacji lub sposobu wdrożenia jej w aplikacji. Jeśli pasek stanu zostanie ukryty zaraz po uruchomieniu aplikacji - nie widzę sposobu, w jaki można dostać się do menu ustawień.

Możesz zajrzeć do this w sprawie uzyskania pełnego ekranu (ale nie wiem, czy już próbowałeś/uznałeś to).

+0

Rootowanie urządzeń nie jest opcją. Wiem, jak ręcznie wyłączyć pasek stanu poprzez zabicie systemUi, ale do codziennego użytku jest to zbyt skomplikowane i musi być wykonane po każdym uruchomieniu urządzenia. Wtedy mam problem, że klient może ponownie uruchomić urządzenie, którego nie mogę powstrzymać. –

+0

Twój drugi link do pobierania pełnoekranowego działa tylko w wersji Android <3.0. Ponieważ używam tabletów z Androidem 3.2, to nie działa. –