我有一個具有「登錄」和「註銷」行爲的應用程序。在用戶登錄後,在註銷時可能會有任意數量的活動留在堆棧上。安卓「關閉」活動
當用戶註銷時,我想要重置所有應用程序狀態。我清除了我的磁盤高速緩存和首選項,但運行(暫停)活動中仍有狀態。事實上,當用戶再次登錄時,我發現上一次登錄會話中的舊活動仍然存在於舊狀態(我明白爲什麼這是當然的)。我如何導致整個應用程序重置/關閉/重新啓動?
我見過幾篇關於使用startActivityForResult()
,onActivityResult()
的帖子來冒泡一個「註銷」結果代碼,導致每個活動依次關閉。這看起來很痛苦,我希望有更好的方法。
編輯:我已經試過啓動「登錄」和不同的標記無濟於事活動,
loginIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
可能重複ack「按鈕打開已登錄的Activites](http://stackoverflow.com/questions/3007998/on-logout-clear-activity-history-stack-preventing-back-button-from-opening-l) –