每次用户打开或切换应用程序时,我都需要显示登录屏幕。
我已经实现了一个解决方案,在需要的情况下打开LoginActivity。当用户打开最小化的应用程序时,在后台堆栈顶部打开了LoginActivity
。由于我想使应用程序安全并限制后退导航,我使用了Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK
标志,因此后端堆栈已被清除。
但现在我需要保持一个靠背。什么是更好的解决方案?保存已打开活动的状态(以及如何更好地完成)?或者以某种方式限制后退按钮导航,如果登录成功,只需完成LoginActivity
?将LoginActivity
显示在背斜的顶部是否安全?
答案 0 :(得分:1)
在我看来,如果用户在登录屏幕中按下后退按钮,则必须关闭应用程序并清理后台堆叠。但是,我可以将LoginActivity放在backStack的顶部,从ForeignKey
标志Intent
开始。如果登录成功,则Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
可以完成,因此用户可以继续打开的活动。但是,如果用户按下按钮,则LoginActivity
可以完成,并且后台堆清除you can use this。
为了保存已打开活动的状态,您应该使用状态方法事件:LoginActivity
...并在状态中保存您需要保存的成员。