java - 如何调出 Android 中 Activity 后台堆栈中存在的 Activity ?

标签 java android android-activity

假设我有一个名为 ActivityA 的 Activity 和另一个名为 ActivityB 的 Activity 。在每个 Activity 中,我都有一个按钮,单击该按钮即可打开另一个 Activity 。我想在单击按钮时执行以下工作:

check if there is an existing type of the target Activity in the activity back-stack or not, if there is, bring that Activity to the top and if not create new Intent and then go to that Activity.
How can I implement this?

谢谢。

最佳答案

简单。

Intent intent = new Intent(this, TargetActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);

这正是你想要的。如果任务堆栈中已经存在 TargetActivity 的实例,则该实例将被重新排列并移至堆栈的顶部(前面)。如果没有 TargetActivity 的现有实例,Android 将创建一个新实例并将其放在堆栈顶部。

关于java - 如何调出 Android 中 Activity 后台堆栈中存在的 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59045860/

相关文章:

java - JVM 使用 Intel 编译器编译

java - 为什么Python不能通过子进程执行java.exe?

java - 如何使用java删除文本文件中的一行或一行

java - 应用程序因 IllegalArgumentException : com. android.internal.policy.impl.PhoneWindow 而崩溃

java - 与 NullPointerException 作斗争

android - Activity 生命周期以及如何清理临时文件

android - 如何使用 ADB 终止所有 Activity 任务/应用程序?

java - 为什么从 int 到 Long 的隐式转换是不可能的?

android - 具有透明背景的 Activity

android - 我可以强制 Android 后退按钮在 Activity 堆栈中后退两步吗?