2010-12-06 71 views
1

我不是在談論恢復應用程序狀態(使用Bundle或配置更改,甚至SharedPreferences)我談論的事實是,我有一個特定的任務,這是一個基本的活動:HomeScreenActivity,從那裏我可以爲用戶的流程打開一系列活動。 我希望在應用程序死亡或用戶殺死他自己的會話來恢復整個任務,而不僅僅是一個活動,我的意思是恢復我在應用程序被殺前的整個活動堆棧。如果用戶在我的結算屏幕上並且離開了我的應用程序,我想將他帶回到該屏幕,但是我希望如果他將按回他會返回到我的搜索屏幕或過濾屏幕,他離開了。恢復任務到它的最後一個狀態在android

我沒有問題在sharedPreferences中保存活動的順序,並知道命令,一旦我開始我的主屏幕,但我想知道是否有方法來telroid啓動一個活動,只能進入任務的堆棧,而不是調用該活動的onCreate方法,除非我真的得到它(與後退鍵)。

+0

你試過「android:noHisory = true」 – Kakey 2010-12-06 15:26:05

回答

0

也許有人會有一個更好的主意,但唯一可以立即想到的是添加一個「重置」標誌,以便您可以重新排列用戶在您的應用程序中的先前活動導航操作的腳本,你的活動依次相互啓動,但是由於resetup標誌繞過了他們的大部分代碼,所以除了必要的設置之外,他們並沒有做任何事情,並開始下一個代碼。

一個複雜因素是,它可能是他們實際上將在其中恢復的活動。

+0

這個想法我們已經想出了:-)我確信你可以看到它的醜陋,我也必須將我的大部分onCreate()代碼移動到onStart或onResume(最好在Resume中,因爲那個人100%會被叫回來),加入額外的標誌將確保我只是開始他們,但我認爲4-5個原始活動的開始時間是不可忽略的......如果我在我之前沒有任何活動,並且自己恢復他們,那將會很棒。 – codeScriber 2010-12-06 16:56:26