如何完成调用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
.
此代码开始一个新的 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
.