2012-03-29 60 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/ 可以被遵循。 – 2012-03-29 18:16:49

回答

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标志Intent.FLAG_ACTIVITY_CLEAR_TOP清除堆栈直到被调用的活动 – Robertoq 2012-04-02 09:06:14

+0

。 – 2012-04-02 11:39:39