gpt4 book ai didi

android - 如何正确删除所有 Activity 堆栈?

转载 作者:行者123 更新时间:2023-11-29 02:01:27 24 4
gpt4 key购买 nike

Activity A -> Activity B -> Activity C -> Activity D。在 Activity D 中按下返回键应该将用户引导出应用程序,而 Back 应该对 Activity C、B 和 A 正常工作。即 C -> back -> B -> back A -> back -> exit.

我尝试使用 Activity.FLAG_ACITIVITY_CLEAR_TOP, 等设置标志。使用不同的组合。似乎没有任何效果。最低 API 级别 7。

最佳答案

对于 #1 在 Activity D 中按下返回应该将用户导航出应用程序

在 ActivityD 中,您可以覆盖 onBackPressed 或 onKeyDown 方法,然后使用带有 Exit 标志的标志 FLAG_ACTIVITY_CLEAR_TOP 启动 ActivityA(通过 putExtra 方法)。在 ActivityA 中,您可以获得该 Exit 标志值并在 Exit 标志设置为 true 时调用 finish()。

在 Activity A 的 onCreate 方法中,您需要做的是

if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}

在ActivityD的onBackPressed或onKeyPressed方法中,

intent = (this, ActivityA.class);   
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);

对于 #2 退出 ActivityA

您可以简单地在 onBackPressed 或 onKeyPressed 上调用 finish() 方法。

关于android - 如何正确删除所有 Activity 堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12492576/

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