Страница 1 из 1
Как сделать, чтобы интент не заносился в стек
Добавлено: 10 сен 2013, 16:20
Lighter
Всем привет!
Как можно запустить новый интент так, чтобы текущий (тот, из которого запускается новый интент) не заносился в стек?
Re: Как сделать, чтобы интент не заносился в стек
Добавлено: 10 сен 2013, 18:43
anber
Activity в манифесте прописать android:noHistory="true";
ну или:
Код: Выделить всё
Intent intent = new Intent(this, SomeOtherClass.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
ЗЫ, Гуглить перед тем как спросить пробовали?
Re: Как сделать, чтобы интент не заносился в стек
Добавлено: 17 сен 2013, 13:09
Lighter
У меня немного другая ситуация. У меня в MainActivity определяется зарегистрирован пользователь или нет. Если зарегистрирован создаётся один интент, если нет - другой.
Код: Выделить всё
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = null;
if (AccountUtils.isRegistered(this)) {
intent = new Intent(this, PersonalPageActivity.class);
} else {
intent = new Intent(this, RegistrationActivity.class).setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
}
startActivity(intent);
}
Новая активность с окном регистрации действительно не заносится в стек, но MainActivity (код которой приведён выше) уже в стеке. Что делать в таком случае, очищать стек или есть другие способы, чтобы стартовая активность не заносилась в стек?
Re: Как сделать, чтобы интент не заносился в стек
Добавлено: 17 сен 2013, 17:38
anber
finish() ?
Re: Как сделать, чтобы интент не заносился в стек
Добавлено: 19 сен 2013, 13:42
Lighter
Есть ещё вопрос.
Допустим есть несколько окон при регистрации (RegistrationActivity1, RegistrationActivity2). Из RegistrationActivity1 пользователь переходит в RegistrationActivity2, а в случае успешной регистрации на PersonalPageActivity.
Как сделать, чтобы при переходе на PersonalPageActivity стек очищался, но была возможность перехода из RegistrationActivity2 на RegistrationActivity1 с помощью кнопки назад? FLAG_ACTIVITY_NEW_TASK не подходит.