如何直接退出我的第二个活动

时间:2014-10-03 11:31:14

标签: android exit

我想退出我的应用,我的代码类似于:

  public void onClickPause (View view) {

    Intent salida = new Intent(Intent.ACTION_MAIN);

    finish();
}

但这会返回第一项活动。

3 个答案:

答案 0 :(得分:3)

每当您希望退出所有打开的活动时,您应按下一个按钮,该按钮会加载应用程序启动时运行的第一个活动,然后清除所有其他活动,然后完成最后剩余的活动。这样做在你的项目中应用以下代码

Intent intent = new Intent(getApplicationContext(), FirstActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);

上述代码完成除FirstActivity之外的所有活动。然后我们需要完成FirstActivity在Firstactivity的onCreate或onstart中输入以下代码

if (getIntent().getBooleanExtra("EXIT", false)) {
    finish();
}

答案 1 :(得分:2)

在第一项活动中,在 startActivity()后立即调用完成()。这应该够了吧。

编辑:这样第一个活动将完成,第二个活动将退出到主屏幕/启动器。

答案 2 :(得分:0)

当你进行活动以使后退按钮按预期工作时,有一个称为backstack的东西可以保存活动的顺序。当你调用finish()时,backstack上的顶级活动结束,之前运行的活动返回。这就是为什么你不退出应用程序,但你回到第一个活动。 Intent salida什么都不做,你可以删除它。 你要做的是清理后台,然后完成。看一下这个question

如果您支持api> 16,则可以致电

finishAffinity()