【发布时间】:2011-06-24 22:01:00
【问题描述】:
我的堆栈上有一组活动说 A-->B-->C。当我启动 名为“D”的活动应该作为我的根活动被解雇 应清除应用程序和所有其他活动(A、B、C) 一旦 Activity D 启动,从我的堆栈中。谁能告诉我如何 这样做
【问题讨论】:
标签: android android-activity stack android-intent
我的堆栈上有一组活动说 A-->B-->C。当我启动 名为“D”的活动应该作为我的根活动被解雇 应清除应用程序和所有其他活动(A、B、C) 一旦 Activity D 启动,从我的堆栈中。谁能告诉我如何 这样做
【问题讨论】:
标签: android android-activity stack android-intent
设置根活动
Intent intent = new Intent(this, DActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
【讨论】:
如果您浏览此文档http://developer.android.com/reference/android/content/Intent.html,您可以看到各种意图标志及其用途。
具体来说,对于您的问题,必须使用 FLAG_ACTIVITY_CLEAR_TASK 这将在活动开始之前清除与活动相关联的任何现有任务,即活动成为 新根 一个空任务,所有旧活动都已完成。
【讨论】: