我有一个我正在编写的应用程序,从初始登录/创建新帐户启动画面开始。在onCreate中,它检查我的SharedPreferences以查看是否存储了用户凭据。如果他们是活动,则启动对跳过登录/创建过程的主活动的意图。
if (haveCredentials()) {
Intent i = new Intent(this, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
我不希望用户能够返回启动画面。正如您所看到的那样,我正在尝试this建议的CLEAR_TOP
Intent标志,但它似乎不起作用。不确定我错过了什么。
活动堆栈的当前状态
SplashActivity->MainActivity
预期的筹码状态
MainActivity
答案 0 :(得分:1)
您是否尝试完成当前的活动?
if (haveCredentials()) {
Intent i = new Intent(this, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish(); //add this!
}
答案 1 :(得分:0)
只需在finish()
之后使用startActivity()
,这样当按下后退按钮时,就不会显示上一个活动。