2013-08-08 3 views
0

Мне нужно очистить предысторию деятельности. У меня 5 мероприятий. В первых 4 действиях я должен сделать кнопку «Назад» взад и вперед с данными, заполненными на всех экранах. Но по мере того, как я перехожу на 5-й экран, мне нужно сбросить историю предыстории и начать с нового стека. Так что после того, как я вернусь в свой пятый экран, приложение должно выйти. Я пробовал использовать launchMode, Nohistory и Flags, такие как NEW_TASK, CLEAR_TOP, CLEAR_TASK, но все еще не смог этого добиться. Пожалуйста, помогите мне. Предложите мне, как этого добиться.История Степень активности ясно в android

+0

Можете ли вы показать, как вы пытались эти флаги? –

+0

@ShobhitPuri Я пишу флагов, как показано ниже. Intent i = новый Intent (MainActivity.this, SecondActivity.Class); i.addFlags (android.flags.FLAG_CLEAR_TOP | FLAG_NEW_TASK | FLAG_CLEAR_TASK), а затем startactivity; затем this.finish(); Это заканчивает мою деятельность (т. Е. MAinActivity), но не действия до этого. Пожалуйста, предложите, что делать. – newBie

+0

См. Ответ. Надеюсь, поможет. –

ответ

1

В комментариях вы предположили, что вы пытались использовать флаги как:

Intent i = new Intent(MainActivity.this,SecondActivity.Class);  
i.addFlags(android.flags.FLAG_CLEAR_TOP | FLAG_NEW_TASK | FLAG_CLEAR_TASK) 

Но вместо того, чтобы попытаться использовать их, как:

Intent intent = new Intent(MainActivity.this,SecondActivity.Class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK); 
+0

Не работает ... :(Решил мою проблему, используя ctx активности и вызывая завершение, как MyActivity.ctx.finish, прежде чем начинать новое намерение. Надеюсь, это будет полезно кому-то. – newBie

Смежные вопросы