Reputation: 4355
I would like to know how can I clean all previous activities of the stack (except the new one), but I want that in Android API 10 (Android 2.3.3).
Guided with this answer, I know it is not directly possible because the flag dedicated to do that exists since API 11.
But I would like to know if this is possible maybe with some compatibility or if someone has any solution.
Thanks in advance.
Upvotes: 4
Views: 1187
Reputation: 95636
On way to do this is to always start your activities using startActivityForResult()
. In the case where you want to clean the activity stack have the current activity call setResult(RESULT_CANCELED)
and then call finish()
. In all activities (except your main or "root" activity) have the following method:
@Override
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_CANCELED) {
// Want to clear the activity stack so I should just go away now
setResult(RESULT_CANCELED); // Propagate result to the previous activity
finish();
}
This will finish all activities in the stack.
Upvotes: 6
Reputation: 11191
You could add in manifest file android:noHistory="true" to each activity that you don't want to keep in the stack
Upvotes: 0