我的活动堆栈是ABC,C位于顶部.使用startActivityForResult()启动B.
现在,在C中,它启动A并使用以下代码清除顶部:
finish();
intent = new Intent(this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
我的问题是,在执行上面的代码之后,是否会调用A中的onActivityResult()?我预计它会,因为B在C开始A并且清除顶部后被销毁.但是,我的测试代码显示A中的onActivityResult()未被调用.我很迷惑.有人可以帮忙吗?
谢谢.
在您的代码中,您将从 ACTIVITY C 启动一个新的 Activity A。这不会调用 onActivityResult。这仅仅是因为一个新的 Activity A启动了仅当您完成()您的活动 B 时,才会调用 onActivityResult() 。
如果这还不清楚的话,我希望有人可以在答案中添加更多内容。
| 归档时间: |
|
| 查看次数: |
3518 次 |
| 最近记录: |