2012-03-29 2 views
1

В моем приложении есть активность. Если вход успешно завершен, я запускаю первое действие. Она включает в себя меню, которое открывается ActivityA, ActivityB, ActivityC ... и от этих действий я могу пойти глубоко ActivityASubA и глубже ActivityASubB ...Android закрыть все действия, когда петь

-ActivityA 
--ActivityASubA 
--ActivityASubB 

-ActivityB 
--ActivityBSubA 
--ActivityBSubB 

... 

И если пользователь открыт ActivityA и ActivityASubA, а затем из меню ActivityB и после этого выйдите, я открою знак в действии, но в истории будут предыдущие действия, и если он вернется, снова просмотрите эти действия, и это проблема.

Поэтому, когда выходите, мне нужно закрыть все действия. Какое из лучших решений?

+0

Я думаю, что такой же подход, как и в http://stackoverflow.com/questions/7486865/remove-or-close-your-own-activity-window-from-a-status-bar-notification-intent/ . –

ответ

1

В знак из метода вы должны поместить этот код:

Intent intent = new Intent(this, Home.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(new Intent(this, Home.class)); 
finish(); 

О FLAG_ACTIVITY_CLEAR_TOP вы можете прочитать й

+0

Как это работает? Если вы выйдете из клика и используете свой код, он не очистит историю, поэтому я могу вернуться к предыдущим действиям. – Robertoq

+0

флаг Robertoq Intent.FLAG_ACTIVITY_CLEAR_TOP очистить стек до тех пор, пока он не будет вызван Activity. –

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