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.
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.
You could add in manifest file android:noHistory="true" to each activity that you don't want to keep in the stack