Android: onBackPressed () no funciona
Tengo un desarrollo de aplicaciones contra Android 2.1 y quiero anular el botón de retroceso.
He seguido el ejemplo aquí:
http://android-developers.blogspot.com/2009_12_01_archive.html
Y mi código es el siguiente:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (Integer.parseInt(android.os.Build.VERSION.SDK) < 5
&& keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0) {
Log.d("CDA", "onKeyDown Called");
onBackPressed();
}
return true;
}
@Override
public void onBackPressed() {
Log.d("CDA", "onBackPressed Called");
Intent setIntent = new Intent(Intent.ACTION_MAIN);
setIntent.addCategory(Intent.CATEGORY_HOME);
setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(setIntent);
return;
}
Funciona en dispositivos pre 2.x pero no funciona en un Hero con 2.1 update-1 y un Nexus One con 2.2.
¿Hay algo que me falta en el ejemplo? ¿O alguien puede señalar por qué no está funcionando?
Ni siquiera presiono el botón en el logcat.