我有 2 项活动 AAA 和 BBB。我使用startActivityForResult(Intent, int)从 AAA 调用 BBB 。完成 BBB 后,我按下返回按钮返回 AAA。在 BBB 中,我覆盖 onPause() 并使用setResult(RESULT_OK)设置结果。
在 AAA 中,我在onActivityResult(int requestCode, int resultCode, Intent data)中检查我的结果,并且我不断收到 RESULT_CANCELLED。
在 google/stackoverflow 上花费了一段时间后,我发现如果我覆盖onBackPressed()并将结果设置在其中,那么它绝对可以正常工作。
我不明白的是,为什么结果没有在 onPause() 中设置,而实际上 onPause() 在 onBackPressed() 之后被调用。我已经浏览了开发文档中的活动流程,并且我很清楚那里提到的内容。
有人对这种行为有任何想法或可以更好地解释吗?