2012-03-29 89 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