每次用户打开应用程序并保留(或恢复)backstack时,都会显示登录活动

时间:2017-01-18 16:19:34

标签: android android-activity

每次用户打开或切换应用程序时,我都需要显示登录屏幕。 我已经实现了一个解决方案,在需要的情况下打开LoginActivity。当用户打开最小化的应用程序时,在后台堆栈顶部打开了LoginActivity。由于我想使应用程序安全并限制后退导航,我使用了Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK标志,因此后端堆栈已被清除。

但现在我需要保持一个靠背。什么是更好的解决方案?保存已打开活动的状态(以及如何更好地完成)?或者以某种方式限制后退按钮导航,如果登录成功,只需完成LoginActivity?将LoginActivity显示在背斜的顶部是否安全?

1 个答案:

答案 0 :(得分:1)

在我看来,如果用户在登录屏幕中按下后退按钮,则必须关闭应用程序并清理后台堆叠。但是,我可以将LoginActivity放在backStack的顶部,从ForeignKey标志Intent开始。如果登录成功,则Intent.FLAG_ACTIVITY_REORDER_TO_FRONT可以完成,因此用户可以继续打开的活动。但是,如果用户按下按钮,则LoginActivity可以完成,并且后台堆清除you can use this

为了保存已打开活动的状态,您应该使用状态方法事件:LoginActivity ...并在状态中保存您需要保存的成员。