This question already has an answer here:
Currently I'm starting a new Activity
and calling finish
on a current one.
Is there any flag that can be passed to Intent
that enables finishing current Activity
without a need to call finish
manually from code?
You can use finish()
method or you can use:
android:noHistory="true"
And then there is no need to call finish()
anymore.
<activity android:name=".ClassName" android:noHistory="true" ... />
Use finish
like this:
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
does the opposite. New activity is not saved in history, whereas OP wants previous Activity being finished.
To learn more on using Intent.FLAG_ACTIVITY_NO_HISTORY
read: http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NO_HISTORY
FLAG_ACTIVITY_NO_HISTORY when starting the activity you wish to finish after the user goes to another one.
http://developer.android.com/reference/android/content/Intent.html#FLAG%5FACTIVITY%5FNO%5FHISTORY
来源:https://stackoverflow.com/questions/11308198/start-new-activity-and-finish-current-one-in-android