繁体   English   中英

启动另一个呼叫者时完成呼叫者活动

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

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