单击 HW 菜单按钮时无法调用方法

Unable to call a method when HW menu button is clicked

我刚开始使用 andEngine 开发游戏,现在遇到 android 设备中硬件菜单按钮的问题。我想要做的是调用方法“showMenu()”来显示我使用下面的代码制作的自定义菜单场景。但是,每当我点击 HW 菜单按钮时,都会显示应用程序列表而不是方法。如何设法通过菜单按钮调用方法?我很想听听你的消息!

 @Override
    public boolean dispatchKeyEvent(KeyEvent e) {
        if (e.getAction() == KeyEvent.ACTION_DOWN && e.getKeyCode() == KeyEvent.KEYCODE_BACK) {
            //if paused
            if (isPaused) {
                //use thread when tring to use detachself and detachChildren
                getBaseActivity().runOnUpdateThread(new Runnable() {
                    @Override
                    public void run() {
                        for (int i = 0; i < pauseBg.getChildCount(); i++) {
                            unregisterTouchArea((ButtonSprite) pauseBg.getChildByIndex(i));
                        }
                        pauseBg.detachChildren();
                        pauseBg.detachSelf();
                    }
                });
                isPaused = false;
                isTouchEnabled = true;
                return true;
            } else {
                return false;
            }

        } else if (e.getAction() == KeyEvent.ACTION_DOWN && e.getKeyCode() == KeyEvent.KEYCODE_MENU) {
            //if not paused show menu
            if (!isPaused) {
                showMenu();
            }
            return true;
        }
        return false;
    }

请记住,很多 android 设备没有物理或触摸屏菜单按钮。您设备上的按钮很可能是任务管理器按钮,其目的是完全按照您的描述进行操作(显示 running/background 应用程序列表)。

最好避免覆盖游戏中的菜单按钮,或者至少您应该为客户端提供一个替代的屏幕精灵作为菜单按钮。