gpt4 book ai didi

android - 启动 Activity 4 时从返回堆栈中删除 Activity 2 和 3

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:09:00 26 4
gpt4 key购买 nike

我有 4 个 Android Activity 。我们称它们为 ABCD

正常流程是A => B => C => D。但是,当我输入 D 时,我想从后台堆栈中删除 BC

可以解决吗?

请注意,如果用户在 C 并按下返回键,B 仍应显示!

编辑: 使用 CLEAR_TOP 再次启动 Activity A 确实在我不想要的 Activity A 上再次调用了 onCreate。还有其他解决方案吗?

最佳答案

我知道这是一个老问题,但我最近遇到了同样的问题,而且在任何地方都找不到解决方案。我可以开始工作的唯一解决方案是一些 hack:

使用 startActivityForResult 从 B 启动 C

Intent intent=new Intent(this,C.class);
startActivityForResult(intent,REQUEST_CODE);

在 Activity C 中,为 Activity D 创建 Intent 并将其设置为结果:

Intent intent=new Intent(this,D.class);
setResult(RESULT_OK,intent)
finish();

在 Activity B 中,完成并启动从 Activity C 返回的 Intent :

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode==REQUEST_CODE) {
finish();
startActivity(data);
}
}

此时, Activity BC 都将完成, Activity 堆栈将为A => D

关于android - 启动 Activity 4 时从返回堆栈中删除 Activity 2 和 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15499794/

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