如何完成调用activity?

How to finish called activity?

此代码开始一个新的 Activity

Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:123456789"));
startActivity(callIntent);

我如何close/finish这个activity(我刚开始使用上面的代码)?

你不能。一旦 activity 启动,您将一直返回堆栈直到它完成(或者用户通过最近使用或启动器图标导航回来,如果那是另一个应用程序)。另一个activity需要自己完成才能让你回来。

你在做什么: 您从 Activity-A

开始 Activity-B

这个机制发生了什么:

  • 当首先 Activity-A 启动时,它会转到 backstack
  • 当你说开始 Activity-B 有点去 backstack 上面 Activity-A
  • 所以现在如果您在 Activity-A 中调用 finish(); 它无法关闭,因为 它在 backstack 中,因此会产生不同的响应,例如 重新启动相同的 activity 或其他

总结一下我的观点:正如 Gabe Sechan 在建议的一个答案中....你必须关闭 Activity-B 然后 Activity-A.