2011-11-11 16 views
28

¿Cómo atrapar el evento con el botón de retroceso de hardware en Android? Necesito suprimir al usuario para volver y yo cuando hago clic en el botón Atrás en el teléfono para mostrar el mensaje y no continuar la actividad anterior. Como hacer eso ?¿Cómo atrapar el evento con el botón de retroceso de hardware en Android?

+4

-1 búsqueda antes de preguntar: esto ha sido cubierto al menos una vez por semana. –

+0

Posible duplicado de [Deshabilitar el botón Atrás en Android] (http://stackoverflow.com/questions/4779954/disable-back-button-in-android) –

Respuesta

53

que puede hacer por esta anulación

  1. la método onBackPressed() en su actividad de esta manera

    public void onBackPressed(){ 
        // do something here and don't write super.onBackPressed() 
    } 
    
  2. reemplazar el método onKeyDown()

    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
        switch(keyCode){ 
        case KeyEvent.KEYCODE_BACK: 
         // do something here 
         return true; 
        } 
        return super.onKeyDown(keyCode, event); 
    } 
    
+0

¿Es realmente necesario anular 'onKeyDown()' también? Cuando se presiona la tecla Atrás, ¿no se llamará a 'onBackPressed()'? – LarsH

0

Puede suprimir el usuario "atrás" acción con onKeyDown() en su actividad como esta:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if ((keyCode == KeyEvent.KEYCODE_BACK)) 
    { 
     //do actions like show message 
     return false; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
Cuestiones relacionadas