2014-06-05 56 views
0

如何保存和記住由特定活動啓動的活動?假設我有使用startActivityForResult()啓動活動2的活動1。 後來我看到以下調用序列:在Android序列上調用其他活動的活動

 onPause called from Activity1! 
     onSaveInstanceState called from Activity1 
     onActivityResult called from Activity1 

後來,當我打的後退按鈕從活性2回活動1,我看叫onRestart:

 onRestart called from Activity1 
     onResume called from Activity1 

所以我的問題是現在我如何確定轉換是從Activity2 - > Activity1而不是(比如說)Activity3 - > Activity1?

回答

1

一種可能的方法是使用startActivityFprResult代替。完成任何其他活動(在本例中爲活動2或活動3)時,請致電setResult(RESULT_OK, intent)並提供Intent。這將交付給onActivityResult中的Activity1,您可以在Intent中添加一些額外信息以確定剛纔完成的Activity

+0

但我在哪裏可以保存我在onActivityResult()中獲得的信息?我認爲在Activity2或Activity3啓動正確後調用它?我想要弄清楚什麼時候Activity1被重新啓動*是哪個活動(2或3)剛剛在運行。這可能嗎? – user3079275

+0

當您使用'startActivityForResult'打開的活動結束時,您將獲得'onActivityResult'。它在Activity2 _launches_之後未被調用,它在Activity2 _finishes_之後被調用並且您返回到Activity1。 – Karakuri