当在手机上按下 BACK 按钮时,我想防止特定活动返回到之前的活动。
HomeScreen具体来说,我有登录和注册屏幕,两者都会在成功登录/注册时启动一个新活动。启动 HomeScreen 后,我想阻止用户通过按 BACK 键返回登录或注册屏幕。
HomeScreen
我尝试使用Intent.FLAG_ACTIVITY_NO_HISTORY,但由于应用程序集成了 Facebook,当使用“使用 Facebook 登录”时,Facebook 应该返回初始登录屏幕,因此我应该保留这些活动的历史记录。
Intent.FLAG_ACTIVITY_NO_HISTORY
我想在按下按钮并使用时覆盖 BACK 按钮的行为HomeScreen以直接完成应用程序
@Override public void onBackPressed() { finish(); }
但这也行不通。
我的建议是完成您不希望用户返回的活动。例如,在您的登录活动中,在您调用 之后startActivity,立即调用finish()。当用户点击后退按钮时,他们将无法进入登录活动,因为它已从堆栈中删除。
startActivity
finish()