Android 上 Activity 调用其他 Activity 的顺序
-
21-12-2019 - |
题
如何保存并记住特定活动启动的活动?假设我有活动 1,它使用 startActivityForResult() 启动活动 2。然后我看到以下调用序列:
onPause called from Activity1!
onSaveInstanceState called from Activity1
onActivityResult called from Activity1
后来,当我点击后退按钮从 Activity2 返回 Activity1 时,我看到 onRestart 被调用:
onRestart called from Activity1
onResume called from Activity1
所以我现在的问题是如何识别转换是从 Activity2 -> Activity1 而不是(比如说)Activity3 -> Activity1?
解决方案
一种可能的方法是使用 startActivityFprResult
反而。当您完成任何其他活动(在本例中为 Activity2 或 Activity3)时,您可以调用 setResult(RESULT_OK, intent)
并提供一个 Intent
. 。这将被传递到 Activity1 onActivityResult
, ,你可以在其中添加一些额外的内容 Intent
以确定哪个 Activity
刚刚完成。
不隶属于 StackOverflow