完成所有活动并开始新的活动

时间:2013-12-13 20:24:15

标签: java android android-intent android-activity

我有一个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,然后使用其他参数启动此Activity,然后再使用第一个参数启动。当我第三次发布时,我需要Application {{1}}。有没有办法做到这一点?

4 个答案:

答案 0 :(得分:0)

活动具有生命周期,并且为了在运行相同活动时使用不同参数启动活动,将再次从articleslistactivity的当前实例加载活动,但请记住dat再次启动活动nd将再次执行只停止当前实例,你将在堆栈中有三个实例。

答案 1 :(得分:0)

我认为这个链接你必须帮助删除堆栈顶部的所有活动

检查此链接

<强> Clear all activities in a task?

将此代码放入您的班级

  

Intent intent = new Intent(this,destinationactivity.class);   intent.setFlags(FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP | FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_NEW_TASK);
  startActivity(意向);

答案 2 :(得分:0)

尝试

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

答案 3 :(得分:0)

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

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();
}