【发布时间】:2011-06-13 08:58:29
【问题描述】:
我有一个主要活动 (Main) 和另一个从 Main 调用的活动 (Sub)
startActivityForResult(new Intent(this, SubActivity.class), 25);
当我在 Sub 时,我终止了进程(使用任务管理器或通过 adb shell kill <pid>),然后我重新打开应用程序,我立即被带到 Sub。
在 Sub 中,我有这段代码可以回调到 Main 活动:
setResult(RESULT_OK, data);
finish();
如果我没有终止进程,我会收到 requestCode (25)、resultCode (RESULT_OK) 和 onActivityResult 上的数据。但是在这种情况下,我被带到主要活动,但 onActivityResult 没有被调用。
这是 Android 的工作方式(我没想到),还是我的方法有问题?
更新:这发生在我的 Nexus One、CyanogenMod 7.0.2、Android 2.3.3 上。我尝试使用模拟器 API 10、Android 2.3.4 并按预期工作,在我终止进程后仍然调用 onActivityResult。
【问题讨论】:
-
你是什么意思“但是在这种情况下我被带到主要活动,但 onActivityResult 没有被调用”然后调用什么?
-
如果进程已经被杀死,则不调用Main活动的onActivityResult。 Main Activity 的 onCreate、onStart 等仍然照常调用。
标签: android android-activity activity-lifecycle