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.
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();
}
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.
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.
Appelez onBackPressed
après l'avoir annulée dans votre activité.
vous pouvez simplement utiliser onBackPressed ();
ou si vous utilisez fragment, vous pouvez utiliser getActivity (). onBackPressed ()
Ajoutez simplement finish (); dans votre premier cours (activité de connexion) onPause (); méthode. c'est tout