在MainActivity.java中我进行以下调用:
Intent activity = new Intent(this, CameraDetectionActivity.class);
startActivityForResult(activity, request);
在CameraDetectionActivity中的某些时刻,我运行以下两行(所有这些都发生在GUI线程中):
setResult(Activity.RESULT_OK);
finish();
我希望在MainActivity中的onActivityResult之前调用onDestroy,但是它们会以相反的顺序调用。 知道为什么会这样吗?
答案 0 :(得分:9)
onDestroy稍后会被调用,这可能是任意长的。我们希望尽快恢复下一个活动,以便UI在那里,然后只在UI切换后停止并销毁以前的活动。
答案 1 :(得分:0)
在调用super.onDestroy()之前,请注意将数据传递给父活动。
@Override
protected void onDestroy() {
Intent intent = new Intent();
setResult(RESULT_OK, intent);
finish();
super.onDestroy();
}