活动A使用startActivityForResult启动B,B使用startActivity启动C.之后,活动堆栈为A B C.
现在假设,C使用FLAG_ACTIVITY_REORDER_TO_FRONT标志对B进行startActivity调用,然后活动堆栈将变为A C B.
我的问题是,现在,如果B完成,A中的onActivityResult()会因B退出而被调用吗?
感谢。
答案 0 :(得分:5)
根据finish()的文件判断:
在您的活动完成后调用此方法 并应该关闭。该 ActivityResult被传播回 谁通过你发起你 onActivityResult()。
这让我相信即使C介于两者之间,A也会得到B的结果。
编辑 - 经过一些测试后,我发现了一些有趣的互动。
一些记录后的事件顺序:
换句话说,A按预期获得B的结果,但在C完成并且A恢复后发生。