我想保存我的應用程序的狀態,以便當它從關閉狀態重新打開時,最後一個片段是可見的,並且後退堆棧被保留。我想每次保持這種狀態下,應用程序被關閉,而不僅僅是改變方向時,或當系統殺死的應用程序以釋放資源(如使用onSaveInstanceState()
/onRestoreInstanceState()
時的情況。如何將應用程序堆棧保存到一個包中?
到目前爲止,我通過將狀態保存到SharedPreferences並稍後恢復,可以恢復之前的片段及其狀態,但這並不能保留片段返回堆棧,因此當用戶加載應用程序並按下後退按鈕以移動「up」在應用程序流程中,應用程序退出而不是上升
我現在需要的是能夠訪問應用程序返回堆棧,並在必要時將其保存到一個包中,系統在onSaveInstanceState()
。我已閱讀FragmentManager.saveFragmentInstanceState()
的文檔,但我不確定如何使用它來實現我的目標。任何人都可以指引我走向正確的方向嗎?
我正在使用Android兼容性庫中的片段實現。
'android:alwaysRetainTaskState'看起來很有趣。一旦我有時間調查,我會報告回來。 – howettl 2012-03-31 00:10:55