我有一个主活动(Main)和另一个活动(Sub),通过以下方式从Main调用
startActivityForResult(new Intent(this, SubActivity.class), 25);
当我在Sub应用程序时,如果我使用任务管理器或者adb shell kill <pid>
命令结束进程,并重新打开应用程序,我会立即回到Sub应用程序。
在Sub应用程序中,我有这段代码来回调主活动:
setResult(RESULT_OK, data);
finish();
如果我没有杀死进程,我本应该在
onActivityResult
中收到requestCode(25)、resultCode(RESULT_OK)和数据。但是在这种情况下,我被带到了主活动,但onActivityResult
未被调用。这是Android的工作方式吗(我不认为会是这样),还是我的方法有问题?更新:这发生在我的Nexus One上,CyanogenMod 7.0.2,Android 2.3.3。我尝试使用模拟器API 10,Android 2.3.4,并且按预期工作,即在我杀死进程后仍然调用了
onActivityResult
。