【发布时间】:2014-01-21 16:33:06
【问题描述】:
我想在我的 Android 应用程序中建模的功能是,如果用户登录,他会被转发到主菜单 (MainMenuActivity)。从这里和我在应用程序中为其提供按钮的其他任何地方,他必须能够注销,这应该让他回到登录屏幕 (LoginActivity) 并完成堆栈上的所有活动。我通过在登录后和注销调用时不破坏 LoginActivity 来实现这一点:
Intent intent = new Intent(this, LoginActivity.class);
// Clean up all other activities.
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
我还希望用户不能使用后退按钮从主菜单返回到登录屏幕。所以我确实在我的MainMenuActivity 中覆盖了onBackPressed() 方法。相反,我希望当用户从主菜单中按下后退按钮时,应用程序会终止(就像它在堆栈上的最后一个活动一样)。 我怎样才能做到这一点?
我确实阅读了其他几种方法,例如在执行登录后完成 LoginActivity,然后按照此处所述进行操作:
https://stackoverflow.com/a/3008684/1332314
但我不太确定这是否是一个合适的解决方案,请阅读帖子下方的 cmets。
【问题讨论】:
-
你使用 api 11+ 级吗?
-
实际上是 14+,所以我不知道我刚刚发布的内容是否对每个人都有用。如果您知道针对这种高 API 级别的更好解决方案,请告诉我。
-
检查我的答案。只需在您开始登录或主菜单活动时设置该标志
标签: android login exit activity-lifecycle