我的应用程序启动时启动的主要活动显示有一堆菜单项,但访问由某些菜单项启动的一些活动需要用户名和密码。用户正确输入其凭据后,他们就可以访问这些活动。他们还可以使用后退按钮并返回到菜单所在的主要活动,只要他们留在应用程序中,我不需要他们再次重新输入他们的凭据。
但是,如果他们在主要活动中点击“后退”按钮,我会使用 finish(); 终止应用程序;
我看到的问题是,如果用户按住主页按钮,则会显示应用程序列表,如果他们点击我的应用程序,他们最终可能会被带到需要用户名的“安全”活动之一和密码。如果他们正在使用其中一项活动并点击主页按钮,则可能会发生这种情况。
我想出的解决方案是使用一个全局变量来指示他们已登录,并在他们从主要活动中点击“后退”按钮时清除它。
但是我需要在每个活动的 onResume 中检查此标志,以查看他们是否已登录,如果没有,我在 onResume 中执行 finish() 以阻止他们访问活动。
有没有更好的方法来做到这一点?也许是一种终止用户进入“安全”活动时产生的所有活动的方法?或者更好的是,终止我的应用程序中的所有活动?就目前而言,我有很多活动,在我的 onResume 中重复代码似乎有点毫无意义。