Android 调用finish()时,活动被销毁后会发生什么?

Android 调用finish()时,活动被销毁后会发生什么?,android,android-activity,android-lifecycle,Android,Android Activity,Android Lifecycle,我在android中看到过关于finish()关键字的这篇文章 …但它找不到任何能回答我问题的东西 如果对某个活动调用finish(),是否会调用堆栈中的下一个活动?如果我们为另一个活动的结果启动该活动,会不会调用另一个活动的onActivityResult(),而不是堆栈中的下一个活动?什么比另一个更重要?我在这类问题上找不到太多的答案 谢谢如果从ActivityA启动ActivityB,并且从ActivityB调用finish(),则ActivityB将从堆栈中删除,ActivityA将位于

我在android中看到过关于finish()关键字的这篇文章

…但它找不到任何能回答我问题的东西

如果对某个活动调用finish(),是否会调用堆栈中的下一个活动?如果我们为另一个活动的结果启动该活动,会不会调用另一个活动的onActivityResult(),而不是堆栈中的下一个活动?什么比另一个更重要?我在这类问题上找不到太多的答案

谢谢

如果从ActivityA启动ActivityB,并且从ActivityB调用finish(),则ActivityB将从堆栈中删除,ActivityA将位于堆栈顶部

如果从ActivityA的onActivityResult()启动ActivityB,当您再次完成ActivityB时,ActivityA将位于堆栈顶部


不会调用onActivityResult(),因为just方法中的onActivityResult()属于ActivityA。所以stack就是活动stack。

嗨,谢谢你的回复。然而,在这里:“如果您从onActivityResult()启动ActivityB”,我的意思是使用startActivityForResult启动ActivityB,然后在ActivityA中检索onActivityResult中的结果。在这种情况下,如果您在某处完成()ActivityB,则将从ActivityA调用onActivityResult(),结果代码为“result Cancelled”。@codingChap我猜,但是如果我们将活动B中的结果设置为result_ok,它将返回活动A中的result_ok。谢谢。是的,正确@密码子