2013-03-20 84 views
1

是否可以在StartActivityForResult()中啓動活動並在運行結果時保存此新活動的狀態?
例如:
活動A通過StartForResult啓動活動B,當活動B完成他們的工作並返回相應的值,我可以保存活動的狀態爲B OnSaveStanceState活動調用StartActivityForResult

回答

0

不,實際上OnSaveInstanceState在這種情況下甚至不會被調用。

OnSaveInstanceState被稱爲iff由於諸如低內存,方向變化之類的事情,操作系統殺死了該活動。

但是,由於您使用StartActivityForResult開始,您可以隨時手動調用Intent.PutExtra完成之前保存的狀態。這完全取決於你需要保存的B的哪種狀態。然後A將獲得狀態,您可以稍後使用它。

+0

謝謝,我做出了不同的決定,各州將屏幕置於活動的靜態屬性中。 – DevBeginner 2013-03-28 18:10:29

0

那是不可能的。活動的生命週期完成後停止。 OnSaveInstanceState在活動退出時不會被調用。您可以嘗試在活動A中獲取當前狀態並將其傳遞給新的活動B,以便重建舊狀態。

相關問題