gpt4 book ai didi

android - 关闭任务中的所有 Activity

转载 作者:行者123 更新时间:2023-11-29 22:22:52 26 4
gpt4 key购买 nike

当我想关闭任务中的所有 Activity 时,这段代码有什么问题?

public static void closeAllBelowActivities(Activity current)
{
boolean flag = true;
Activity below = current.getParent();
if (below == null)
return;
System.out.println("Below Parent: " + below.getClass());
while (flag) {
Activity temp = below;
try {
below = temp.getParent();
temp.finish();
} catch (Exception e) {
flag = false;
}
}
}

最佳答案

android 的工作方式是 Activity 存在于堆栈中(您可能知道这一点)所以如果 A 调用 B 调用 C 调用 D

堆栈看起来像

// D - Current 
// C
// B
// A

如果您要做的只是确保 C、B、A 不再在堆栈中,那么您应该在调用下一个 Activity 之前调用 finish()

A.startActivity(B)
A.finsh()
---
B.startActivity(C)
B.finish()

等等,所以我想我的下一个问题是,为什么您要尝试通过当前 Activity 而不是通过调用 Activity (它的设计方式)来做到这一点?

您还可以使用 FLAG_ACTIVITY_CLEAR_TOP 之类的 Intent 标志来清除除最新 Activity 之外的所有 Activity 的历史列表,这可能是您想要做的?

关于android - 关闭任务中的所有 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6680602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com