Android:防止回到以前的活动

我想在Android上执行此操作:基本上,在手机上按下“返回”按钮时,我想阻止特定活动返回到之前的状态。

具体来说,我有登录和注册屏幕,当成功登录/注册时,都会启动一个名为HomeScreen的新活动。 一旦启动了HomeScreen,我想要防止用户能够通过按下BACK键返回登录或注册屏幕。

我尝试使用Intent.FLAG_ACTIVITY_NO_HISTORY但由于应用程序具有Facebook集成,所以当使用“使用Facebook登录”时,Facebook应返回到初始登录屏幕,因此我应该保留这些活动的历史记录。

当按下按钮并使用时,我想到HomeScreen上的BACK按钮的覆盖行为直接完成应用程序

@Override
public void onBackPressed() {
    finish();
}

但这也行不通。

我在Android开发方面很新,所以任何帮助都会非常有用。

提前致谢。


我的建议是完成你不希望用户返回的活动。 例如,在您的登录活动中,在您调用startActivity ,请调用finish() 。 当用户点击后退按钮时,他们将无法进入登录活动,因为它已被杀死。


以下解决方案在通常的登录/主要活动方案或实施阻止屏幕中非常有用。

为了最小化应用而不是回到以前的活动,可以像这样覆盖onBackPressed()

@Override
public void onBackPressed() {
    moveTaskToBack(true);
}

moveTaskToBack(boolean nonRoot)保持原样,将你的任务(所有活动)放在后台。 与用户按下主页按钮相同

参数boolean nonRoot - 如果为false,则仅当活动是任务的根时才起作用; 如果属实,它将适用于任务中的任何活动。


我不确定你想要什么,但它听起来应该是可能的,而且这听起来像你已经走上了正轨。

以下是一些可能有所帮助的链接:

在android中禁用后退按钮

  MyActivity.java =>
    @Override
    public void onBackPressed() {

       return;
    }

我如何禁用“返回”某些活动?

  AndroidManifest.xml =>
<activity android:name=".SplashActivity" android:noHistory="true"/>
链接地址: http://www.djcxy.com/p/26165.html

上一篇: Android: Preventing going back to the previous activity

下一篇: android : behaviour on pressing HOme key for single task