I am using cocos2dx to make a small game and in the activity of my game i give the following functions to handle back button.
@Override
public boolean onKeyDown
Have you enabled the touch? If not then please enable it and Hope, it'll sort-out your problem.
I assume that's button in your game screen.
To handle back button pressing you need to redefine onBackPressed()
method of your activity, not this two methods.
Just your apps implements for override method for onKeyDown,
@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);
}
Here's an update for Cocos2d-x version 3+
This has been answered simply (and works) here
as well as a slightly less complete youtube here
It is been handled here in the file Cocos2dxGLSurfaceView.java
change it to below, where myActivity
is the 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: