Страница 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 не подходит.