У меня есть приложение для игры, и я хочу приостановить игру, когда пользователь нажимает кнопки «Назад», «Дом», «Меню» или «Питание». Я пробовал код ниже, но работает только кнопка «Назад». Другие не показывают даже сообщения Toast. Я не знаю почему. Есть ли проблема с кодом? Если нет, есть ли лучший способ сделать это?Как установить приемник, когда программа приостановлена (пользователь выходит из приложения)?
public boolean onKeyDown(int keycode, KeyEvent e) {
switch(keycode) {
case KeyEvent.KEYCODE_HOME:
pause(null);
Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show();
return true;
case KeyEvent.KEYCODE_MENU:
pause(null);
Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show();
return true;
case KeyEvent.KEYCODE_BACK:
pause(null);
Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show();
return true;
case KeyEvent.KEYCODE_POWER:
pause(null);
Toast.makeText(this,"Hello World",Toast.LENGTH_LONG).show();
return true;
}
return super.onKeyDown(keycode, e);
}
}
Это то, на что рассчитаны методы жизненного цикла Activity. – DeeV
Ознакомьтесь с методом 'onPause()' активности. –