我有2项活动。在儿童活动中,我在onPause()中添加了类似的内容:
if (isFinishing()) {
final Intent intent = new Intent();
intent.putExtra(SOME_DATA, value);
setResult(RESULT_OK, intent);
Log.i("test", "Result set to RESULT_OK");
}
在父活动中,当子活动被销毁时我检查resultCode,这是我注意到的:
每个案例中的“测试”日志读取都是一样的。
答案 0 :(得分:2)
在onPause被调用到RESULT_CANCELED之后,很可能是破坏你的活动的东西会重置结果。这是有道理的,因为活动不快乐地完成。
您要通过始终将结果代码设置为RESULT_OK来完成什么?
答案 1 :(得分:2)
您不必在onPause方法中设置结果代码。您可以在获取数据的那一刻设置它。只需在每次要传回第一个活动的数据发生变化时设置结果代码,然后以正确的方式返回到调用活动。