【问题标题】:Destroy All Previous Activities After Specific Activity is Open [duplicate]在特定活动打开后销毁所有以前的活动[重复]
【发布时间】:2015-12-30 07:54:50
【问题描述】:

这是场景

Activity A -> Activity B -> Activity C -> Activity D(我想在Activity D启动后销毁Activity A、B和C。

有什么想法吗?

【问题讨论】:

  • Intent i = new Intent(FirstActivity.this, NextActivity.class);开始活动(一); //使用意图完成 FirstActivity.this.finish();

标签: android android-activity


【解决方案1】:
Intent intent = new Intent(ActivityC.this, ActivityD.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);

FLAG_ACTIVITY_NEW_TASK

如果设置,此活动将成为此活动的新任务的开始 历史堆栈。一个任务(从启动它的活动到下一个 任务活动)定义了一个原子活动组,用户可以 搬去。任务可以移到前台和后台;所有的 特定任务中的活动始终保持不变 命令。有关任务的更多信息,请参阅任务和返回堆栈。

此标志通常由想要呈现 “启动器”风格的行为:他们给用户一个单独的列表 可以做的事情,否则完全独立运行 启动它们的活动。

当使用这个标志时,如果一个任务已经在为这个活动运行 您现在正在开始,则不会开始新的活动; 相反,当前任务将简单地被带到前面 屏幕上的状态。请参阅 FLAG_ACTIVITY_MULTIPLE_TASK 用于禁用此行为的标志。

当调用者从 正在启动的活动。

FLAG_ACTIVITY_CLEAR_TASK

如果在传递给 Context.startActivity() 的 Intent 中设置,此标志将 导致与活动相关联的任何现有任务 在活动开始之前被清除。也就是活动 成为一个空任务的新根,任何旧的 活动结束。这只能与 FLAG_ACTIVITY_NEW_TASK。

【讨论】:

  • 如果你清除所有活动,那么你不需要ActivityC.this.finish();
【解决方案2】:

您需要将标志 Intent.FLAG_ACTIVITY_CLEAR_TOPIntent 一起传递:

Intent intent = new Intent(getApplicationContext(), D.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

【讨论】:

  • 当我已经在活动 C 中时。我调用了代码 Intent intent = new Intent(getApplicationContext(), D.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); 但是当我点击后退按钮时。我仍然回到Activity C。感谢您的回答
  • 是的,你可以去活动C,但是你的活动A,B会结束
  • 使用:Activity_C activity = new Activity_C();活动.finish();在你的 Activity D OnCreate() 方法中
【解决方案3】:

在启动 Activity C 时使用这些行来清除 Activity 堆栈:

 Intent i = new Intent(PresentActivityName.this, D.class);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(i);
    finish();

【讨论】:

  • 如果你清除所有活动,那么你不需要ActivityC.this.finish();
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-17
相关资源
最近更新 更多