退出儿童活动时如何完成所有活动

时间:2012-08-05 08:00:52

标签: android android-activity exit

示例:我有3个活动,A,B和C.来自活动A我打开活动B然后从B打开活动C.然后我按代码退出应用程序:

Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
System.exit(0);

我将此代码用于退出应用。但是当重启app时,又回到了最近的Activity。我的问题,如何在退出应用程序时完成所有活动?

3 个答案:

答案 0 :(得分:2)

每当您从一个Activity调用另一个Activity时,请尝试使用以下标志清除活动堆栈:

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

希望它有所帮助。

答案 1 :(得分:1)

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//***Change Here***
startActivity(intent);
finish();
System.exit(0);

答案 2 :(得分:-2)

您必须先使用以下代码返回主要活动:

Intent home = new Intent(this, mainActivity.class);
home.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(home);

然后您将从mainActivity退出应用程序,如下所示:

finish();
System.exit(0);

希望它有所帮助。