Lorsque l'utilisateur souhaite quitter toutes les activités ouvertes , il doit appuyer sur un bouton qui charge la première activité qui s'exécute au démarrage de votre application, effacer toutes les autres activités, puis terminer la dernière activité restante. Exécutez le code suivant lorsque l'utilisateur appuie sur le bouton Quitter. Dans mon cas, LoginActivity
c'est la première activité de mon programme à exécuter.
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
Le code ci-dessus efface toutes les activités à l'exception de LoginActivity
. Ensuite, mettez le code suivant dans le LoginActivity
's onCreate(...)
, pour écouter quand LoginActivity
est recréé et le signal' EXIT 'passé:
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
Pourquoi est-il si difficile de créer un bouton de sortie dans Android?
Android s'efforce de vous décourager d'avoir un bouton "Quitter" dans votre application, car ils veulent que l'utilisateur ne se soucie jamais de savoir si les programmes qu'ils utilisent s'exécutent en arrière-plan ou non.
Les développeurs d'Android OS veulent que votre programme puisse survivre à un arrêt inattendu et à une mise hors tension du téléphone, et lorsque l'utilisateur redémarre le programme, il reprend là où il s'était arrêté. Ainsi, l'utilisateur peut recevoir un appel téléphonique pendant qu'il utilise votre application et ouvrir des cartes qui nécessitent que votre application soit libérée pour plus de ressources.
Lorsque l'utilisateur reprend votre application, il reprend là où il s'était arrêté sans interruption. Ce bouton de sortie usurpe le pouvoir du gestionnaire d'activité, ce qui peut potentiellement causer des problèmes avec le cycle de vie du programme Android géré automatiquement.