我正在構建一個需要用戶登錄並獲取用戶ID的應用程序。這個id是我的擴展Application類的成員變量。銷燬活動堆棧
我想讓應用程序識別何時/如果這個變量被清除了,如果是的話,拋出我的日誌屏幕並銷燬它後面的Activity堆棧。
這裏就是我想我會做的事:
擴展活動和ListActivity(目前只有兩種類型我使用的活動)。在onResume()處理程序中,檢查是否設置了用戶標識。如果沒有,請拋出登錄屏幕並銷燬其後面的Activity堆棧的其餘部分。我所有的活動都將來自這些新的擴展活動。
我的問題在於,我不知道如何銷燬特定Activity後面的Activity棧。有任何想法嗎?
一個想法是有一個廣播接收監聽一個特定的消息,告訴活動自殺,但我希望Android已經有適合這種情況的東西。
更新:
另外,有沒有辦法清除整個活動堆棧?我想重寫Activity上的onBackPressed()處理程序,並將Activity堆棧炸掉,以便用戶重新回到Android主屏幕。
使用FLAG_ACTIVITY_CLEAR_TOP(http://stackoverflow.com/questions/3973092/android-nuke-the-previous-app-history) – danh32 2011-02-03 16:05:23
嗯.. 。在用戶登錄後,我在Activity的Activity中調用finish();所以它不再是在堆棧上,但我想我不能這樣做 – Andrew 2011-02-03 16:20:29