【问题标题】:Make a particular activity as a root activity in stack将特定活动作为堆栈中的根活动
【发布时间】:2011-06-24 22:01:00
【问题描述】:

我的堆栈上有一组活动说 A-->B-->C。当我启动 名为“D”的活动应该作为我的根活动被解雇 应清除应用程序和所有其他活动(A、B、C) 一旦 Activity D 启动,从我的堆栈中。谁能告诉我如何 这样做

【问题讨论】:

    标签: android android-activity stack android-intent


    【解决方案1】:

    设置根活动

        Intent intent = new Intent(this, DActivity.class);
    
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    
        startActivity(intent);
    

    【讨论】:

      【解决方案2】:

      如果您浏览此文档http://developer.android.com/reference/android/content/Intent.html,您可以看到各种意图标志及其用途。

      具体来说,对于您的问题,必须使用 FLAG_ACTIVITY_CLEAR_TASK 这将在活动开始之前清除与活动相关联的任何现有任务,即活动成为 新根 一个空任务,所有旧活动都已完成。

      【讨论】:

      • FLAG_ACTIVITY_CLEAR_TASK 无法自行工作。您需要结合 Intent.FLAG_ACTIVITY_NEW_TASK(来自 Android 文档)进行设置。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-15
      • 2014-05-07
      相关资源
      最近更新 更多