web-dev-qa-db-fra.com

Comment appuyer sur le bouton de retour dans Android par programme?

Dans mon application, j'ai une fonctionnalité de déconnexion. Si l'utilisateur clique sur la déconnexion, il passe à l'écran d'accueil. Maintenant, je quitte mon application en appuyant sur le bouton Précédent. Mais ce que je veux, c’est que j’ai besoin de sortir automatiquement (c’est-à-dire par programme) de la même manière que la fonctionnalité du bouton Précédent. Je sais qu'en appelant finish () fera la fonctionnalité. Mais le fait est que cela va à l’activité précédente.

72
vinothp

onBackPressed() est pris en charge depuis: API niveau 5 

 @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if ((keyCode == KeyEvent.KEYCODE_BACK)) {
                onBackPressed();
            }
    }

@Override
    public void onBackPressed() {
        //this is only needed if you have specific things
        //that you want to do when the user presses the back button.
        /* your specific things...*/
        super.onBackPressed();   
    }
111
Tarun

Vous n'avez pas besoin de remplacer onBackPressed() - il est déjà défini comme l'action que votre activité effectuera par défaut lorsque l'utilisateur clique sur le bouton Précédent. Il suffit donc d'appeler onBackPressed() chaque fois que vous souhaitez "appuyer par programmation" sur le bouton Précédent.

Cela résulterait seulement à l'appel de finish(), cependant;)

Je pense que vous êtes confus avec ce que le bouton de retour fait. Par défaut, il s’agit simplement d’un appel à finish(); il ne fait donc que quitter l’activité en cours. Si vous avez quelque chose derrière cette activité, cet écran apparaîtra.

Ce que vous pouvez faire, c'est lors du lancement de votre activité à partir de la connexion, ajoutez un indicateur CLEAR_TOP afin que l'activité de connexion ne soit pas disponible lorsque vous quittez la vôtre.

36
josephus

Il est parfois utile de remplacer la méthode onBackPressed (), car si vous travaillez avec des fragments et que vous les modifiez si vous appuyez sur le bouton Précédent, ils reviennent au fragment précédent.

8
Serj Moya

Appelez onBackPressed après l'avoir annulée dans votre activité.

5
drulabs

vous pouvez simplement utiliser onBackPressed ();

ou si vous utilisez fragment, vous pouvez utiliser getActivity (). onBackPressed ()

1
Abhishek Patil

Ajoutez simplement finish (); dans votre premier cours (activité de connexion) onPause (); méthode. c'est tout

0
dbs ray