tutorial - ¿hay un oyente de tecla de retroceso predeterminado(en el dispositivo) en Android?
guia de configuración de accesibilidad (5)
Estoy haciendo dos actividades A y B. Cuando hago clic en el botón en A que muestra B. Cuando hago clic en el botón en B, vuelve a A. Había establecido el método overridePendingTransition después del método finish (). funciona correctamente pero en caso de que la Actividad actual sea B. en ese momento, hago clic en el botón de retroceso predeterminado en el dispositivo. muestra la transición de derecha a izquierda para mostrar la Actividad A.
¿Cómo puedo escuchar esa tecla de retroceso predeterminada en el dispositivo?
EDITAR:
Log.v(TAG, "back pressed");
finish();
overridePendingTransition(R.anim.slide_top_to_bottom, R.anim.hold);
Para Android 2.0 y versiones posteriores, hay un método específico en la clase de actividad:
@Override
public void onBackPressed() {
super.onBackPressed();
// Do extra stuff here
}
Puede encontrar más información sobre las cosas de la parte posteriora aquí: http://android-developers.blogspot.com/2009/12/back-and-other-hard-keys-three-stories.html
Utilizo este código en una actividad con un reproductor multimedia. Necesitaba detener la reproducción cuando el usuario presionaba el botón Atrás pero aún podía volver a la actividad anterior.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.
try{
mp.stop(); //this line stops the player
return super.onKeyDown(keyCode, event);//this line does the rest
}
catch(IllegalStateException e){
e.printStackTrace();
}
return true;
}
return super.onKeyDown(keyCode, event); //handles other keys
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
//Do stuff
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// do something on back.
return true;
}
return super.onKeyDown(keyCode, event);
}
El siguiente enlace es una explicación detallada sobre cómo manejar eventos clave, escritos por los propios desarrolladores de Android: