在Android中,從Activity A開始,如果我啓動新的Activity B,Android將自動保存Activity A的所有狀態。因此,當我從Activity B點擊或調用finish()時,Activity A將恢復到我開始活動B(例如:活動A中的ScrollView的位置或ProgressBar的值)。在活動A中,我有一個ProgressBar顯示某個任務的進度,然後如果我從活動B返回,ProgressBar將被恢復並繼續運行。Android在調用finish()時如何保存並恢復Activity的狀態?
現在我想要的是,從活動A,我會打電話給finish()。我如何像Android一樣保存Activity A的所有狀態(包括ProgressBar,如上所述),所以當我再次啓動Activity A時,可以像調用finish()之前一樣恢復所有內容,並且我的ProgressBar繼續運行?
我可以將Activity A推送到Android中的堆棧,然後彈出它嗎?任何人都知道如何做到這一點?
由於操作系統或應用程序可能會終止後臺進程,因此不應嚴重依賴此操作。如果要保留數據,數據仍應保存並傳遞給新實例。 – Eric 2012-07-10 04:52:34
活動A從另一個活動(例如活動Z)開始。因此,當我調用完成時,它將返回到活動Z.現在,在這種情況下,我可以調用moveTaskToBack(false)嗎? – user1417127 2012-07-10 04:53:30
那就是@Soxxeh。使用onSaveInstanceState()和onRestoreInstanceState()是要走的路。moveTaskToBack(false),onSaveInstanceState()和onRestoreInstanceState()的組合應該可以做到。 – Umesh 2012-07-10 04:55:48