Robię zastrzeżoną aplikację dla firmy, która nigdy nie wyda jej na Android Market (lub Play Store chyba teraz) w Ice Cream Sandwich (Android 4.0).Wyłącz przycisk Home w Androidzie ICS (4.0)
Muszę wyłączyć dom, aby użytkownicy nie mogli złośliwie odinstalować oprogramowania lub usunąć danych przechwytywanych przez aplikację. Ta najnowsza wersja jest pierwszą wersją napisaną w wersji 4.0, poprzednie wersje zostały napisane w wersjach 2.2 i 3.2.
W celu wyłączenia przycisku Strona główna w wersji 2.2, powiązałem aplikację jako zamiennik domu, więc przycisk tylko ponownie otworzył aplikację, ale nie mogę już korzystać z tej metody, ponieważ to w pewnym stopniu uniemożliwia nam aktualizację aplikacji . (nie chcemy dać możliwość ponownego wybierania domyślnego domowym użytkownika, jako że doprowadziłoby do usunięcia danych
Kod mam dla disableing przycisk Home w 3.2:
@Override
public void onAttachedToWindow() {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
i, w dniu na razie:
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
Kiedy jednak uruchomię ten sam kod, który działał na moim tablecie 3.2, nie działa on na moim tabletie 4.0.
Zastanawiam się, czy istnieje nowy interfejs API lub metoda, która 4.0 ma to, że osiągnie taki sam efekt jak obecnie w mojej wersji 3.2.
Dzięki za pomoc lub wskazówki.
Adam
Aplikacja zachowuje się jak złośliwe oprogramowanie w tym, że przejmuje kontrolę nad urządzeniem z dala od użytkownika. Android 4.0+ został zaprojektowany, aby temu zapobiec. – Dubs