拦截Android菜单按钮

NiM*_*uSi 1 android

我有一个应用程序,当用户按下菜单按钮时,我想显示我自己的菜单活动.我正在使用onCreateOptionsMenu方法来启动我的活动,返回false以便不显示任何菜单.这是我的代码:

Intent intentMenu = new Intent(this, ActivityMenu.class);
startActivityForResult(intentMenu, 0);
return false;
Run Code Online (Sandbox Code Playgroud)

这可以,但只有第一次按下菜单按钮.我知道这种方法只被调用一次.每次用户按下菜单按钮时,如何才能调用它?或者我应该采取不同的方法?

Sil*_*ria 5

不要使用onCreateOptionsMenu(),错误的地方.以下是通过覆盖Activity中的onKeyDOwn()方法来实现的:

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

    if (keyCode == KeyEvent.KEYCODE_MENU || keyCode == KeyEvent.KEYCODE_BACK) {
        startActivityForResult(new Intent(this, ActivityMenu.class), 0);

        return true;
    }

    return super.onKeyDown( keyCode, event );
}
Run Code Online (Sandbox Code Playgroud)