I want to block a device's menu button press event.
So far I have used this code:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
return (keyCode == KeyEvent.KEYCODE_MENU || super.onKeyDown(keyCode, event));
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
return (keyCode == KeyEvent.KEYCODE_MENU || super.onKeyUp(keyCode, event));
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int keyCode = event.getKeyCode();
int action = event.getAction();
boolean isDown = action == 0;
if (keyCode == KeyEvent.KEYCODE_MENU) {
return isDown ? this.onKeyDown(keyCode, event) : this.onKeyUp(keyCode, event);
}
return super.dispatchKeyEvent(event);
}
When I press menu button methods onKeyDown
, onKeyUp
, dispatchKeyEvent
are not called. And I see menu list.
Is there another way to block menu button?
PS: I use appcompat-v7:22