我正在尝试理解android:lauchMode
,以便将其正确应用于我正在处理的应用程序。基本上我有2个活动。 LoginActivity
和HomeActivity
.
会话状态已存储,因此如果应用程序已终止并且您已登录,则下次打开时,您仍将登录。因此,请记住这一点,我正在寻找的行为如下:
您总是启动 on LoginActivity
,它会检查您是否已登录,如果true
,则会将您定向到HomeActivity
。在HomeActivity
时,如果您注销,它会将您重定向到 LoginActivity
.
我需要的是,无论您处于登录或主页活动中,后退堆栈都将清晰,如果您按下后退按钮或其他任何按钮,您不会被重定向到主页登录或登录到主页,而是应用程序可能会关闭。
编辑:我不能在Manifest
中使用noHistory="true"
,因为身份验证方法应该返回到LoginActivity
。只有HomeActivity
不应该被允许回到LoginActivity
.那么,这是一个正确的解决方案吗?
Intent login = getIntent()
login.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
Intent home = new Intent(this,Home.class);
startActivity(home);
登录活动标记为清单或意图中没有历史记录。如果他们按下后退,应用程序应该关闭。如果他们按注销,请创建新的登录活动意图并完成主页活动。
看:
从历史记录堆栈中删除活动