Comment quitter l’application grâce à un item du menu
Sur Android, il existe quelques fonctions permettant de fermer la fenêtre active ou quitter l’application, seulement ce n’est pas aussi simple qu’il n’y paraît ! Nous allons donc voir ici, comment faire pour quitter l’application à l’aide d’un item du menu.
Les deux fonctions que nous allons étudier sont :
- Finish()
- exit(0)
Ces deux fonctions ont l’air très simple et pourtant sans bidouiller un peu le code elles ne feront pas ce que nous souhaitons.
Explications :
- La fonction finish ferme la fenêtre active, si on n’a pas ouvert d’autres menus l’application se ferme donc comme il faut. En revanche, si la personne à cliquer sur un menu de conversion, elle devra alors appuyer deux fois sur le bouton quitter !
- La fonction sytem.exit(0) quant à elle semble plus boguer qu’autre chose, lors de nos test elle fermait bel et bien l’application mais elle se rouvrait directement par la suite.
La solution :
Il suffit en fait à chaque ouverture de menu, d’ajouter à la fin la fonction « finish », elle était déjà présente dans les fonctions que nous avons utilisées dans ce cours. En la plaçant directement à la fin du code d’ouverture d’un menu, cela permet de fermer l’activité précédente et donc, ne pas avoir à répéter l’opération autant de fois que l’on ouvre un menu. Du coup, en utilisant cette technique on peut sans problème ajouter un menu quitter de la manière suivante :
case R.id.action_menu3: System.exit(0); // Fermeture de l'application return true;