android - Intent.FLAG_ACTIVITY_CLEAR_TOP 不会删除 Activity 堆栈

标签 android android-intent

我正在开发应用程序,我想在单击按钮时关闭整个应用程序。我知道在 android 中我们不应该考虑关闭应用程序,因为 android 会从 Is quitting an application frowned upon? 自动执行此操作。 .但我想关闭我的应用程序。

所以我要关闭应用程序是我正在使用 Intent.FLAG_ACTIVITY_CLEAR_TOP 标志来删除 Activity 堆栈。

Intent intent = new Intent(Activity3.this, FinishActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();

FinishActivity.class 的 onCreate 中,我正在调用 this.finish() 但应用程序没有关闭并且之前的 Activity 被重新打开。

FinishActivity.class

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    this.finish();
}

更新:

这里是场景

MainActivity->Activity2->Activity3->FinishActivity

这里Activity2是在activity完成后打开的。

我如何做到这一点?任何想法和建议将不胜感激。

感谢和问候

最佳答案

试试这个。这应该会清除您的 Activity 堆栈。

Intent i = new Intent(this,MyActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);

关于android - Intent.FLAG_ACTIVITY_CLEAR_TOP 不会删除 Activity 堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14209124/

相关文章:

android - 一些 Android 客户端断开连接,然后在 15 秒后重试 HTTP 请求,即使超时时间更长

android - 选择通知时取消Android中的动态通知

android-intent - 将我的应用程序添加到 "Complete Action Using"列表中,用于 Gmail 中的附件

android - 从父级开始和停止 Activity ?

android - 在 Lollipop 和 pre-Lollipop 中使用 Material 主题的正确方法

android - 如何读取我的应用程序 logcat 并写入文件?

java - Libgdx 读取 Android 的内部文本文件

带有 Intent 的 Android extra 始终为 NULL

android - 如何从另一个 Intent 中获取信息?

android - 如何找出有多少空闲堆大小可用于 Android 2.* 的位图?