2013-04-07 11 views
5

Mam aplikację na Androida, która będzie używana w restauracji, więc chcę, aby użytkownicy nie mogli wyjść z aplikacji. Jedyne, co mogą zrobić użytkownicy, to korzystanie z aplikacji.Android - uniemożliwić użytkownikowi zamknięcie aplikacji

(Jeśli to możliwe, tylko administrator może wyjść z aplikacji, logując się lub ponownie uruchamiając urządzenie, nie wiem, który jest najlepszy sposób).

Czy istnieje rozwiązanie lub inny sposób, aby to zrobić?

Dziękuję bardzo!

+0

Nie mogę myśleć o jakiejkolwiek sytuacji, w której użytkownik nie powinien być w kontroli jego urządzenia lub aplikacji. Również w skrajnych przypadkach użytkownik może po prostu wyłączyć urządzenie (wyjąć baterię) i ponownie uruchomić urządzenie bez ponownego uruchamiania wspomnianej aplikacji. –

+0

@MasterChief on chce używać aplikacji w restauracji, gdzie nie chce, aby jego pracownicy grają wściekłe ptaki za pomocą dziwnego nowego telefonu z Androidem podczas pracy! Rozumiem ? – k0sh

+0

@StyleMe Masz to! ;) Nie dla pracowników, ale dla klientów. Klienci mogą zobaczyć menu restauracji na tablecie; urządzenie nie jest smartfonem/tabletem, ale jest moje – Nerd

Odpowiedz

1

można overrideonBackPressed metoda

@Override 
public void onBackPressed(){ 
    Toast.MakeText(getApplicationContext(),"You Are Not Allowed to Exit the App", Toast.LENGTH_SHORT).show(); 
} 

to zapobiegnie opuszczaniu aplikacji przez przycisk Wstecz.

a następnie trzeba będzie override się home button także jak

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_HOME) { 
     Log.i("TEST", "Home Button"); // here you'll have to do something to prevent the button to go to the home screen 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 

EDIT: dla nowych urządzeń z Androidem w wersji 4.0.xx musisz override się recent apps button także nadzieję, że pomaga.

+0

Czy Twój kod "overdrive przycisku głównego" należy do aplikacji lub aplikacji HomeScreen? –

+0

Aplikacja, ten kod opublikowany w zeszłym roku, więc nie mogę zagwarantować, że działa teraz. – k0sh