The documentation states that FLAG_ACTIVITY_CLEAR_TOP is all you need to set. But you really have to set both to prevent the re-creation of activity.
This did the trick in my case: (The main one was the activity I wanted to return to)
Intent tabIntent = new Intent(this, Main.class); tabIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(tabIntent);
source share