I set a flag, name it closeAllOpenActivities, to true. Then, inside the activity_resume sub of each activity, I check for this flag, and if true, I close the activity. I then, have a timer triggered in the main activity when flag is true. It waits until another variable contains the number of the other open activities. It increases at activity_pause of them when flag is true. Then I close the main activity. All these are happening because I need speed in opening some core activities, otherwise I don't see a reason for such process.