Dans une activité Android donnée, j'aimerais commencer une nouvelle activité pour l'utilisateur à un moment donné. Une fois qu'ils ont quitté la première activité et sont arrivés à la seconde, la première activité est périmée et je veux l'enlever complètement afin qu'elle ne puisse plus être consultée à partir du bouton Précédent.
Comment est le meilleur moyen d'y parvenir? Comment puis-je tuer ou détruire cette activité immédiatement après que l'utilisateur a lancé la nouvelle activité?
Il vous suffit d'appeler finish()
Intent intent = new Intent(this, NextActivity.class);
startActivity(intent);
finish();
Si vous définissez Android:noHistory="true"
sur l'activité dans votre manifeste, une activité sera supprimée de la pile chaque fois que vous en sortez. voir ici
vous pouvez utiliser:
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
Oui, tout ce que vous avez à faire est d'appeler finish () dans n'importe quelle activité que vous souhaitez fermer.
Vous pouvez également ajouter Android:noHistory="true"
à votre balise Activity
dans AndroidManifest.xml
.
<activity
...
Android:noHistory="true">
</activity>
Ecrivez ceci dans chaque "nouvelle activité" après avoir initialisé votre nouvelle intention->
Intent i = new Intent(this, yourClass.class);
startActivity(i);
finish();
Enfin, j'ai une solution!
Mon contexte est : - Je veux déconnecter la connexion de socket lorsque l'activité est détruite, j'ai essayé de terminer l'activité (), mais cela ne m'a pas fonctionné , sa connexion continue quelque part.
donc j’utilise Android.os.Process.killProcess(Android.os.Process.myPid());
pour tuer mon activité et j’ai utilisé Android:excludeFromRecents="true"
.__ pour supprimer de l’activité récente.
Il vous suffit d’utiliser le code ci-dessous lors du lancement de la nouvelle activité.
startActivity(new Intent(this, newactivity.class));
finish();
Ajoutez cet attribut à votre activité dans le fichier manifeste. Android: noHistory = "true"