Поздний ответ, но добавляет глубины другим ответам. Все сводится к тому, что вы хотите сделать с другими действиями, начатыми с этого действия.
Вариант 1. Только это одно действие не должно иметь истории вызовов.
Тогда просто сделайте:
Intent i = new Intent(...);
i.addFlag(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(i);
Вариант 2. Все действия, начатые с этого конкретного действия, не должны иметь истории
Затем добавьте в манифест вызывающей активности:
android:noHistory="true"
Но если вы действительно хотите иметь историю в новом действии, вам нужно вручную удалить флаг:
Intent i = new Intent(...);
i.removeFlag(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(i);
Надеюсь, что это проясняет другие ответы :)
finish()
сразу после этого он будет вызванstartActivity(...)
. Таким образом, если пользователь нажмет BACK из «main», вернуться будет не к чему.