第一种方式:
直接修改Cocos2dxGLSurfaceView类中的onKeyDown方法,修改如下:
- <span style="font-size:18px;">@Override
- public boolean onKeyDown(final int pKeyCode,final KeyEvent pKeyEvent) {
- switch (pKeyCode) {
- case KeyEvent.KEYCODE_BACK:
- Log.d("","KEYCODE_BACK+++++++++++++++++");
- new AlertDialog.Builder(Spartacus.getActivity())
- .setTitle(R.string.exit_tip)
- .setMessage(R.string.exit_message)
- .setNegativeButton(R.string.exit_cancel,new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog,int which) {
- }
- })
- .setPositiveButton(R.string.exit_confirm,new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,int whichButton) {
- //finish();
- System.exit(0);
- }
- }).show();
- return true;
- case KeyEvent.KEYCODE_MENU:
- this.queueEvent(new Runnable() {
- @Override
- public void run() {
- Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleKeyDown(pKeyCode);
- }
- });
- return true;
- default:
- return super.onKeyDown(pKeyCode,pKeyEvent);
- }
- }</span>
第二种方式:
1)、先修改修改Cocos2dxGLSurfaceView类中的onKeyDown方法,修改如下:
- @Override
- public boolean onKeyDown(final int pKeyCode,final KeyEvent pKeyEvent) {
- switch (pKeyCode) {
- case KeyEvent.KEYCODE_BACK:
- return false;
- case KeyEvent.KEYCODE_MENU:
- this.queueEvent(new Runnable() {
- @Override
- public void run() {
- Cocos2dxGLSurfaceView.this.mCocos2dxRenderer.handleKeyDown(pKeyCode);
- }
- });
- return true;
- default:
- return super.onKeyDown(pKeyCode,pKeyEvent);
- }
- }
2)、在继承自Cocos2dxActivity类的,我们自己的activity类中覆盖父类的onKeyDown方法:
- @Override
- public boolean onKeyDown(int keyCode,KeyEvent event) {
- //Log.d("","onKeyDown++++++++++++++++++");
- if (keyCode == KeyEvent.KEYCODE_BACK) {
- new AlertDialog.Builder(this)
- .setTitle(R.string.exit_tip)
- .setMessage(R.string.exit_message)
- .setNegativeButton(R.string.exit_cancel,new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog,int which) {
- }
- })
- .setPositiveButton(R.string.exit_confirm,new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,int whichButton) {
- finish();
- System.exit(0);
- }
- }).show();
- return true;
- } else {
- return super.onKeyDown(keyCode,event);
- }
- }
http://www.jb51.cc/article/p-pfzezpoz-vm.html