[英]Clearing all activities in android
我有4项活动1.Home,2.B,3.C和4.D. 每当我从活动开始回家DI想要完成所有其他活动。 我使用了这段代码,但当我从Home按回按钮时,它会将我带到上一个活动。 我在这里做错了什么。
Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent)
你可以试试这个,
Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
注意:如FLAG_ACTIVITY_CLEAR_TOP文档中所述
此启动模式也可以与FLAG_ACTIVITY_NEW_TASK结合使用:如果用于启动任务的根活动,它将把该任务的任何当前运行的实例带到前台,然后将其清除到其根状态。 这在从通知管理器启动活动时尤其有用。
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
这仅适用于仍在活动堆栈中的活动。 我相信你在去B的时候正在完成家庭活动。所以CLEARTOP
将不起作用。 现在尝试这样的事情。
您需要在Home中设置额外的“D”意图。 然后你必须在Home中检查Intent extra,如果额外匹配则调用finish()
Intent intent = new Intent(contxt, Home.class);
intent.putExtra("urString",defaultvalue);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
// Checking the intent extra at "HOME"
if(getIntent().hasExtra("urString")){
// manage your own way
finish();
}
在manifest.xml文件中为所有活动设置android:nohistroy =“true”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.