Гугл не рекомендует этого делать. Пользователь всегда должен иметь возможность выйти из приложения.
Но иногда нужно.
Рабочее решение
Логичный шаг получить событие кнопки.
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HOME) {
// делаем что-то полезное :)
return true;
} else {
return super.onKeyDown(keyCode, event);
}
}
Магия, без которой не работает
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
Ссылки
http://stackoverflow.com/questions/6693896/home-key-press-event-listener
http://stackoverflow.com/questions/2079691/overriding-the-home-button-how-do-i-get-rid-of-the-choice
http://stackoverflow.com/questions/4783960/call-method-when-home-button-pressed-on-android?rq=1
Но иногда нужно.
Рабочее решение
Логичный шаг получить событие кнопки.
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HOME) {
// делаем что-то полезное :)
return true;
} else {
return super.onKeyDown(keyCode, event);
}
}
Магия, без которой не работает
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
Ссылки
http://stackoverflow.com/questions/6693896/home-key-press-event-listener
http://stackoverflow.com/questions/2079691/overriding-the-home-button-how-do-i-get-rid-of-the-choice
http://stackoverflow.com/questions/4783960/call-method-when-home-button-pressed-on-android?rq=1