[英]Clearing Activity Stack on Intent Start
我有一个正在编写的应用程序,以初始“登录/创建新帐户”初始屏幕开始。 在onCreate中,它检查我的SharedPreferences以查看是否存储了用户凭据。 如果是活动,则该活动将启动主要活动,从而跳过登录/创建过程。
if (haveCredentials()) {
Intent i = new Intent(this, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
我不希望用户能够返回到初始屏幕。 正如你可以看到我想要的CLEAR_TOP
意图标志所建议这个 ,但它似乎并不奏效。 不知道我在想什么。
活动堆栈的当前状态
SplashActivity->MainActivity
所需的堆栈状态
MainActivity
您是否尝试过完成当前活动?
if (haveCredentials()) {
Intent i = new Intent(this, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish(); //add this!
}
只需在startActivity()
finish()
之后使用finish()
,这样在按下后退按钮时将不会显示前一个活动。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.