Maison  >  Article  >  Java  >  Comment fermer toutes les activités existantes et rediriger vers un nouvel écran sous Android ?

Comment fermer toutes les activités existantes et rediriger vers un nouvel écran sous Android ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-04 08:07:30767parcourir

How to Close All Existing Activities and Redirect to a New Screen in Android?

Gestion des transitions d'activités : fermeture de toutes les activités et redirection vers un nouvel écran

Dans le développement Android, la gestion du flux de navigation entre plusieurs écrans est cruciale . Un scénario courant implique un bouton de déconnexion qui devrait fermer tous les écrans actifs et rediriger l'utilisateur vers un écran de connexion.

Le défi

Le flux de code fourni se compose de plusieurs écrans accessible depuis un écran d'accueil : Accueil -> Écran 1 -> Écran 2 -> Écran 3 -> Écran 4 -> Écran 5. L'objectif est d'ajouter un bouton de déconnexion qui, lorsque vous cliquez sur l'un de ces écrans, ferme tous les écrans existants et ouvre un nouvel écran "Connexion".

Solution

Pour relever ce défi, le code suivant peut être implémenté :

<code class="java">Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);</code>

Ce code crée une intention de naviguer vers l'écran « Accueil » et ajoute l'indicateur Intent.FLAG_ACTIVITY_CLEAR_TOP. Ce drapeau garantit que toutes les activités en haut de l'écran « Accueil » sont effacées de la pile.

Explication

Lorsque vous cliquez sur le bouton de déconnexion, le code ci-dessus est exécuté. Il lance l'écran "Accueil" avec le drapeau FLAG_ACTIVITY_CLEAR_TOP. Cet indicateur demande au système d'effacer la pile de tâches et d'afficher l'écran « Accueil » comme activité racine.

En conséquence, toutes les activités du flux de l'écran 1 à l'écran 5 sont supprimées de la pile d'activités. L'utilisateur est ensuite redirigé directement vers l'écran « Connexion ».

Considérations supplémentaires

Si vous le souhaitez, vous pouvez étendre cette solution en ajoutant un paramètre supplémentaire à l'intention et utilisez-le dans l'activité de l'écran « Accueil » pour effectuer des actions supplémentaires, telles que terminer l'écran « Accueil » et relancer l'écran « Connexion ».

Compatibilité

C'est Il est important de noter que cette solution utilise Intent.FLAG_ACTIVITY_CLEAR_TOP, qui est disponible dans l'API Android niveau 1. Cela signifie que cette approche peut être utilisée même sur les anciennes versions d'Android, telles que la 1.6.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn