web-dev-qa-db-fra.com

Commencer une nouvelle activité et terminer la précédente dans Android?

Actuellement, je commence un nouveau Activity et appelle finish sur un ordinateur actuel.

Existe-t-il un indicateur pouvant être passé à Intent permettant de terminer le Activity actuel sans avoir à appeler manuellement finish à partir du code?

63
pixel

Vous pouvez utiliser la méthode finish() ou vous pouvez utiliser:

Android:noHistory="true"

Et puis il n’est plus nécessaire d’appeler finish().

<activity Android:name=".ClassName" Android:noHistory="true" ... />
117
Simon Dorociak

Utilisez finish comme ceci:

Intent i = new Intent(Main_Menu.this, NextActivity.class);
finish();  //Kill the activity from which you will go to next activity 
startActivity(i);

FLAG_ACTIVITY_NO_HISTORY fait le contraire. La nouvelle activité n'est pas enregistrée dans l'historique, alors que OP souhaite que l'activité précédente soit terminée.

Pour en savoir plus sur l'utilisation de Intent.FLAG_ACTIVITY_NO_HISTORY read: http://developer.Android.com/reference/Android/content/Intent.html#FLAG_ACTIVITY_NO_HISTORY

72
Avi Kumar Manku

FLAG_ACTIVITY_NO_HISTORY lors du démarrage de l'activité que vous souhaitez terminer après le passage de l'utilisateur à une autre.

http://developer.Android.com/reference/Android/content/Intent.html#FLAG%5FACTIVITY%5FNO%5FHISTORY

4
10s