android - 在android中操作任务返回栈

标签 android android-intent android-activity back-stack taskstackbuilder

`

public void SignOut(View view) {
        Intent intent = new Intent(getApplicationContext(), MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
        finish();
    }

`我有一个安卓应用程序。 Activity 就像-> A->B->C->D->E。 Activity A 有登录页面。因此,在移动到下一个 Activity ,即 B 时,我没有完成 Activity A。堆栈增长如下:A、B、C、D,然后 Activity D 完成,E 开始。在 Activity E 中,我有一个退出按钮。 到目前为止,我的筹码是:A、B、C、E。按退出时,弹出 E。此时我想清除 Activity 堆栈并开始我的第一个 Activity ,即要求登录的 A。我无法做到这一点。注销后我的堆栈变为 A、B、C、A。我希望堆栈仅为 A。请帮忙。提前致谢。

最佳答案

我已经解决了这个问题。

连同上面提到的代码,在我的主要 Activity 类中,在 onRestart() 函数中,我添加了代码:

getIntent().setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

这确保了无论何时调用此 Activity ,就像我的情况一样,它都是从上一个 Activity 调用的。此时,如果下一个 Activity 完全覆盖它,它已经处于 onPaused() 状态,然后处于 onStop() 状态,并且它将再次重新启动。此时,清除 Activity A 的后堆栈(即 A 顶部的所有 Activity ),如果堆栈中有任何内容以重新开始。

关于android - 在android中操作任务返回栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51122751/

相关文章:

android - 查询失败 Google Drive Android

java - 选定的单选按钮未显示?

android - 无法从 Google Glass 发送邮件

android - 在 Android 应用程序中显示 Assets 文件夹中的 excel 文件

java - 在没有 Activity 的android中调用电话

android - 您可以使用 XML 将 View 连接到事件处理程序吗?

php - 空列表 Android Studio

android - 如何使用 TrafficStats.incrementOperationCount()?

android - 使用 Intent 将对象从一个 Activity 传递到另一个 Activity 有什么问题

Androidx Activity OnBackPressedCallback 接口(interface)问题