【发布时间】:2012-01-27 16:49:52
【问题描述】:
当按下手机上的 BACK 按钮时,我想阻止特定活动返回到之前的活动。
具体来说,我有登录和注册屏幕,当成功登录/注册时,它们都会启动一个名为HomeScreen 的新活动。启动 HomeScreen 后,我想阻止用户通过按 BACK 键返回登录或注册屏幕。
我尝试使用Intent.FLAG_ACTIVITY_NO_HISTORY,但由于应用程序集成了 Facebook,当使用“使用 Facebook 登录”时,Facebook 应该返回初始登录屏幕,因此我应该保留这些活动的历史记录。
我想在按下按钮时覆盖 HomeScreen 上的 BACK 按钮的行为并直接完成应用程序
@Override
public void onBackPressed() {
finish();
}
但这也行不通。
【问题讨论】:
-
澄清一下,您试图捕捉除 facebook 之外的所有人的行为?
-
在某种意义上是的,但实际上我想要的是在成功登录并打开 HomeScreen 之后,用户应该无法通过按 BACK 按钮返回登录屏幕。就像 Twitter 或 Foursquare 一样,一旦我们登录到这些应用程序,在我们注销之前我们看不到登录页面(即使我们在登录后按 BACK)。
标签: android back back-stack activity-stack