完全禁用Lollipop中的Android菜单按钮硬件密钥,而无需使设备生根

时间:2016-04-21 09:46:17

标签: android

我正在编写一个应用程序,我需要在其中禁用菜单按钮。现在按此按钮可以最小化并将我的应用程序发送到后台。

如果有人按下菜单按钮,我想在我的活动中触发一个事件。

我在Stack Overflow上尝试了以下链接

Detecting physical Menu key press in Android

Android: How to add listener to hardware menu button?

这些都不适合我。

以下是我的代码

@Override
public boolean onKeyDown(int keyCode, KeyEvent event){


    if(keyCode == KeyEvent.KEYCODE_BACK)
    {
        Toast.makeText(getBaseContext(),"Please use the top navigation icons ...",Toast.LENGTH_SHORT).show();
    }else if(keyCode == KeyEvent.KEYCODE_MENU)
    {
        Toast.makeText(getBaseContext(),"Please use the top navigation icons ...",Toast.LENGTH_SHORT).show();
    }else
    {

        return super.onKeyDown(keyCode, event);
    }

    return true;
}

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_MENU) {
        // ........
        return true;
    }else
    {
        return super.onKeyUp(keyCode, event);
    }
}

@Override
public boolean onPrepareOptionsMenu (Menu menu) {
    if (true)
        menu.getItem(1).setEnabled(false);
    return false;
}

0 个答案:

没有答案