我的应用程序中有多个活动。其中两个是LoginActivity,第二个是SettingsActivity。用户登录Settings活动并从SettingsActivity注销应用程序。应用程序的流程是LoginActivity - > HomeActivity - > SettingsActivity。用户在“设置活动”中调用应用程序的注销。我在Settings活动上调用finish并为LoginActivity创建一个intent。这样可以正常工作,但是当我按下登录活动的后面时,会显示主页活动。我希望一旦LoginActivity出现,后退按钮应该将应用程序从应用程序中取出。我怎样才能做到这一点 ?
答案 0 :(得分:1)
答案在于FLAG_ACTIVITY_CLEAR_TOP。 您需要做的就是将标志设置为您的意图,如下所示
Intent i = new Intent(this, LoginActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
这应该可以做你想做的事。
答案 1 :(得分:1)
我相信这就是你要找的东西:
How to clear the Android Stack of activities?
我不会太依赖它实际上没有完成()你的LoginActivity这一事实 - 这实际上是一个非常正常的模式。
答案 2 :(得分:1)
我必须使用.FLAG_ACTIVITY_CLEAR_TASK来实现这个目的。我读过这个版本在API版本11之后得到支持,这些版本适用于所有以前的版本。其次,如何使用Manifest文件中的这些而不是java代码? intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);