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