调用 finish() 时 activity 被销毁后会发生什么?

What happens after the activity is destroyed when finish() is invoked?

我在 android What is Activity.finish() method doing exactly?

的 finish() 关键字上看到了这个 post

..但找不到任何可以回答我问题的内容。

如果在 activity 上调用 finish(),是否会调用堆栈中的下一个 activity?如果我们为另一个 activity 的结果启动 activity 怎么办——是否会调用另一个 activity 的 onActivityResult() 而不是堆栈中的下一个 activity?什么优先于另一个?我真的找不到太多关于这类问题的信息。

谢谢!

如果从 ActivityA 启动 ActivityB,如果从 ActiivityB 调用 finish(),ActivityB 将从堆栈中移除,ActivityA 将在堆栈顶部。

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

onActivityResult() 不会被调用,因为 just 方法中的 onActivityResult() 属于 ActivityA 。所以堆栈就是 activity 堆栈。