在onDestroy之前调用onActivityResult

时间:2011-06-26 15:58:32

标签: android android-activity

在MainActivity.java中我进行以下调用:

Intent activity = new Intent(this, CameraDetectionActivity.class);
startActivityForResult(activity, request);

在CameraDetectionActivity中的某些时刻,我运行以下两行(所有这些都发生在GUI线程中):

setResult(Activity.RESULT_OK);
finish();

我希望在MainActivity中的onActivityResult之前调用onDestroy,但是它们会以相反的顺序调用。 知道为什么会这样吗?

2 个答案:

答案 0 :(得分:9)

onDestroy稍后会被调用,这可能是任意长的。我们希望尽快恢复下一个活动,以便UI在那里,然后只在UI切换后停止并销毁以前的活动。

答案 1 :(得分:0)

在调用super.onDestroy()之前,请注意将数据传递给父活动。

@Override
protected void onDestroy() {
    Intent intent = new Intent();
    setResult(RESULT_OK, intent);
    finish();
    super.onDestroy();
}
相关问题