[英]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.