Как определить, когда пользователь нажимает клавишу «меню» на своем Android-устройстве?

Я знаю, что могу переопределить onBackPressed() на более высоких уровнях API, чтобы определить, нажата ли обратная клавиша. Есть ли аналогичный способ сделать это для кнопки меню? Я не большой поклонник проверки кода в KeyEvents. Благодаря!

Если вы просто хотите создать прослушиватель клавиш для кнопки меню, вы должны переопределить onKeyDown и проверить код ключа. Теперь, когда вы указали, что не являетесь большим поклонником этого, вы также можете переопределить onPrepareOptionsMenu, который вызывается каждый раз, когда нажимается кнопка меню, и пользователю отображается меню. Я не уверен, вызвано ли это, если вы не предоставили меню внутри метода onCreateOptionsMenu .

Вы ищете это ????:

 public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_MENU) { //do your work return true; } return super.onKeyDown(keyCode, event); }