Android后退按钮不起作用

时间:2012-12-04 07:01:39

标签: java android android-activity cocos2d-x

我正在使用cocos2dx制作一个小游戏,在我的游戏活动中,我提供了以下功能来处理后退按钮。

@Override
 public boolean onKeyDown(int keyCode, KeyEvent event)
 {
     return super.onKeyDown(keyCode, event);
 }

 @Override
 public void onDestroy()
 {
     android.os.Process.killProcess(android.os.Process.myPid());
     super.onDestroy();
 }

按下后退按钮,我的logcat

中出现以下警告
  

无法打开keycharmap文件

     

加载keycharmap文件'/system/usr/keychars/qtouch-touchscreen.kcm.bin'时出错。 hw.keyboards.65538.devname = '的QTouch-触摸屏'

调用未达到onKeyDown或onDestroy函数。

请告诉我为什么会出现此警告以及为什么我无法处理Android后退按钮。

这些函数在我的java android项目中正常工作,但在我的cocos2d-x项目

中没有

5 个答案:

答案 0 :(得分:8)

此处已在文件Cocos2dxGLSurfaceView.java

中处理

将其更改为下方,其中myActivity是cocos2dActicity

        case KeyEvent.KEYCODE_BACK:
                    AlertDialog ad = new AlertDialog.Builder(myActivity)
                    .setTitle("EXIT?")
                    .setMessage("Do you really want to exit?")
                    .setPositiveButton("YES", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            ((Cocos2dxActivity)myActivity).finish();
                        }
                    })
                    .setNegativeButton("NO", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {

                        }
                    }).create();
                    ad.show();
            return true;
        case KeyEvent.KEYCODE_MENU:

答案 1 :(得分:2)

要处理后退按钮,您需要重新定义活动的onBackPressed()方法,而不是这两种方法。

答案 2 :(得分:1)

你启用了触控功能吗?如果没有那么请启用它并希望,它会解决您的问题。

我假设你的游戏画面中有这个按钮。

答案 3 :(得分:1)

只是你的app实现forKeyDown的覆盖方法,

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        // Here to implements for your code.
        Log.d(TAG, "KEYCODE_BACK");
    }
    return super.onKeyDown(keyCode, event);
}

答案 4 :(得分:1)

这是Cocos2d-x版本3 +

的更新

这已被简单地回答(并且有效)here

以及稍微不完整的youtube here

相关问题