Вообще вы можете использовать при старте новой
activity флаг
FLAG_ACTIVITY_CLEAR_TOP:
Intent intent = new Intent(getBaseContext(), NewActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
Флаг
FLAG_ACTIVITY_CLEAR_TOP как раз и позволит при открытии новой активности очистить стек.