1. 程式人生 > >android 應用如何實現多個Activity在棧中finish掉

android 應用如何實現多個Activity在棧中finish掉

有一種應用場景是這樣的,列如你的應用登入後會一直檢測session 是否過期,類似QQ,如果過期或者失效,會提示你身份驗證已過期,並自動重新跳轉到你的登入QQ的頁面,但此時你的activty或許已在棧中存在多個,那麼這種情況下你按返回鍵就會返回到sessioid過期的那個場景。

A-B-C-D-E ,這個是你棧中的activity,比如A是登入頁面,B是你的主頁面,如果你在E頁面遇到sessionid過期,這是時候你的E Activity的棧下方還有D,C,B,  A到B的過程應該finish().  如果你要跳轉到A,讓使用者重新登入怎麼辦

      直接跳轉是不可能的,因為你無法控制棧裡下方的內容。

比較好的方法是  E-》B ,B是singletop,這樣清空B以上的activity ,然後在B的onNewIntent裡 finish掉自己,並跳轉到A,這樣可以在頁面上實現那個直接跳轉的效果,。程式碼就不說了,這裡提供下思路。