【问题标题】:How to clear existing task and start entirely new task in Android?如何在 Android 中清除现有任务并开始全新的任务?
【发布时间】:2015-11-10 10:51:03
【问题描述】:

在我的 Android 应用中,我使用以下活动标志从通知中启动我的应用:

  1. IntentCompat.FLAG_ACTIVITY_CLEAR_TASK
  2. Intent.FLAG_ACTIVITY_NEW_TASK
  3. Intent.FLAG_ACTIVITY_CLEAR_TOP

在新发布时仍然可以看到旧任务的一些活动。 我是否缺少任何标志?

【问题讨论】:

  • 你试过我的答案了吗?

标签: android android-activity task


【解决方案1】:

试试这个,

Intent intent = new Intent(MainActivity.this, Second.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();

【讨论】:

    【解决方案2】:

    Intent loginscreen = new Intent(this, HomeActivity.class); loginscreen.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

    startActivity(登录屏幕);

    this.finish();

    我同意@fab 它与注销功能一样好,您希望清除用户设置的所有标志值。 为了实现目标android已经提供了Activity启动模式来启动activity

    详细说明请通过Link

    【讨论】:

      【解决方案3】:

      您可以在创建 PendingIntent 之前添加此行,但之后这取决于您想要做什么:

      targetIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-27
        • 2011-07-11
        • 2020-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-23
        相关资源
        最近更新 更多