39 votes

Comment attraper un événement avec le bouton de retour matériel sur Android ?

Comment attraper un événement avec le bouton de retour matériel sur Android ? J'ai besoin d'empêcher l'utilisateur de revenir en arrière et lorsque je clique sur le bouton retour du téléphone, j'affiche un message et ne retourne pas à l'activité précédente. Comment faire ?

71voto

Pratik Points 15125

Que vous pouvez faire par ce

  1. Remplacez la méthode onBackPressed() dans votre activité de la manière suivante

    public void onBackPressed(){
         // do something here and don't write super.onBackPressed()
    }
  2. remplacer la méthode 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);
    }

10voto

kaspermoerch Points 7580

Remplacez la méthode onBackPressed() en tout Activity vous voulez créer un comportement différent du bouton retour.

Ces questions sont équivalentes aux vôtres (et auraient pu être trouvées par une simple recherche) :

comment désactiver le bouton retour dans Android

Désactiver le bouton retour dans Android

2voto

Vous pouvez supprimer l'action "retour" de l'utilisateur avec onKeyDown() dans votre activité comme ceci :

@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);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X