如何清除Android中堆栈中的所有现有活动

时间:2014-11-01 10:19:58

标签: android android-intent android-activity

SignIn - > SignUp - > MainActivity,当我点击MainActivity中的后退按钮时,它应显示Android主页,在我的情况下它将移动到登录屏幕。我在SignUp Activity中尝试了以下代码。

Option1:
    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
    startActivity(intent);          
    finish();

选项2:

    Intent intent = new Intent(getApplicationContext(), MainActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);

2 个答案:

答案 0 :(得分:2)

尝试第二个选项,但添加一个:

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);

它应该有用。

修改

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

答案 1 :(得分:0)

将清单中的android:noHistory =“true”添加到您不想保留在活动堆栈中的活动中。您也可以使用onACtivityResult来实现此目的。获得结果调用完成后()。希望这会帮助你:)