繁体   English   中英

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

[英]Finish all activities and start new one

我有一项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 ,然后从其他参数开始,然后再从第一个参数开始。 当我进行第三次启动时,我需要的是Application单个Activity 有办法吗?

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

我认为此链接对删除堆栈顶部的所有活动很有帮助

检查此链接

清除任务中的所有活动?

将此代码放在您的课​​程中

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

尝试

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM