我在 android What is Activity.finish() method doing exactly? 中看到了关于 finish() 关键字的这篇文章
..但它找不到任何可以回答我的问题的内容。
如果在一个活动上调用finish(),是否会调用堆栈中的下一个活动?如果我们为另一个活动的结果启动该活动会怎样?是否会调用该其他活动的 onActivityResult() 而不是堆栈中的下一个活动?什么比另一个优先?关于这些问题,我真的找不到太多东西。
谢谢!
答案 0 :(得分:0)
如果您从 ActivityA 启动 ActivityB 并且如果您从 ActivityB 调用 finish() ,则 ActivityB 将从堆栈中删除,ActivityA 将位于堆栈顶部。
如果你从 ActivityA 的 onActivityResult() 启动 ActivityB,当你再次完成 ActivityB 时,ActivityA 将在栈顶。
onActivityResult() 不会被调用,因为 onActivityResult() 在 just 方法中属于 ActivityA 。所以堆栈就是关于活动堆栈。