【问题标题】:Finish all activities and start new one完成所有活动并开始新的活动
【发布时间】:2013-12-14 15:37:54
【问题描述】:

我有一个activity,我以不同的parameters 开头。我用intent帮助设置参数。每个参数都有自己独立的动作。

此活动有GridView,其内容取决于收入参数。

第一次开始:

Intent intent = new Intent(this, ArticlesListActivity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);

第二次开始:

startActivity(new Intent(ArticlesListActivity.this, ArticlesListActivity.class));

第三次开始:

Intent intent = new Intent(this, ArticlesListActivity.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);

我需要使用第一个参数开始这个Activity,然后使用其他参数,然后再次使用第一个参数。当我进行第三次发布时,我需要这将是单个 ActivityApplication。有没有办法做到这一点?

【问题讨论】:

  • 请更好地解释您的问题。你为什么要发起同样的活动 3 次?活动是从同一个活动发起的,还是从不同的活动发起的?用户如何从ArticlesListActivity 回来?你的问题不够清楚。

标签: java android android-intent android-activity


【解决方案1】:

一个活动有一个生命周期,为了在同一个活动运行时使用不同的参数启动活动,是从articleslistactivity的当前实例再次加载活动,但要记住dat再次启动d活动会再次只停止当前实例,您将在堆栈中拥有三个实例。

【讨论】:

    【解决方案2】:

    我认为此链接有助于删除 Top of The Stack 中的所有活动

    查看此链接

    Clear all activities in a task?

    将此代码放入您的班级

    Intent 意图 = new Intent(this,destinationactivity.class); intent.setFlags(FLAG_ACTIVITY_CLEAR_TOP|FLAG_ACTIVITY_SINGLE_TOP | FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_NEW_TASK);
    开始活动(意图);

    【讨论】:

      【解决方案3】:

      试试

      Intent intent = new Intent(this, main.class);
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
      startActivity(intent);
      

      【讨论】:

        【解决方案4】:

        当您希望退出所有打开的活动时,您应该按下一个按钮,该按钮会加载您的应用程序启动时运行的第一个活动,然后清除所有其他活动,然后完成最后一个剩余活动。为此,请在您的项目中应用以下代码

        Intent intent = new Intent(getApplicationContext(), FirstActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        intent.putExtra("EXIT", true);
        startActivity(intent);
        

        上面的代码完成了除FirstActivity之外的所有活动。然后我们需要完成FirstActivity的在FirstActivity的oncreate中输入下面的代码

        if (getIntent().getBooleanExtra("EXIT", false)) {
            finish();
        }
        

        【讨论】:

          最近更新 更多