[英]finish caller activity when starting another one
就像在图中一样,我想在启动另一个活动时关闭所有先前的活动。 我用标志尝试了很多,但是似乎不起作用。 例如。 在活动AI上启动活动B时
Intent intent = new Intent(this, ActivityB.class);
intent = intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent = intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
要么
Intent intent = new Intent(this, ActivityB.class);
intent = intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent = intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
但是在Activity A中没有调用finish()
方法。我有一个名为Navigation
的全局类,该类将Activity
扩展为在一个类中处理类似的事情。 所有橙色的活动都会扩展我的导航,蓝色的活动则不会。 BackButton的行为似乎可以正常工作,但是在启动另一个活动时未调用finish()
方法。 我必须显式调用finish()
吗? 哪里? 如果我在onStop
执行此操作,则在重新启动应用程序时无法返回到活动X。
后
startActivity(intent);
简单的说
finish();
在您想要完成的活动中。 仅当ie时才需要标记。 您想清除活动堆栈
您做得对,只需在代码中添加finish()即可:
Intent intent = new Intent(this, ActivityB.class);
intent = intent = intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.