I have an application building against Android 2.1 and I want to override the back button.
I have followed the example here:
http://android-developers.blogsp
You should call parent constructors.
In onKeyDown()
method call
super.onKeyDown();
and in onBackPressed()
super.onBackPressed();
Are you using onKeyUp()?
Use just onKeyDown() in Android 1.x or onBackPressed() in Android 2.x
Some quick searching suggests you should place the Back intercept during onKeyUp(): http://developer.android.com/sdk/android-2.0.html. It's worth a try. The following code is directly from the site:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
event.startTracking();
return true;
}
return super.onKeyDown(keyCode, event);
}
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.isTracking()
&& !event.isCanceled()) {
// *** DO ACTION HERE ***
return true;
}
return super.onKeyUp(keyCode, event);
}