1

示例:我有 3 个活动,A、B 和 C。从 Activity AI 打开 Activity B,然后从 B 打开 Activity 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);

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

4

3 回答 3

2

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

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

希望能帮助到你。

于 2012-08-05T08:31:22.267 回答
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);
于 2012-08-05T08:39:24.843 回答
-2

您必须首先通过以下代码回到您的主要活动:

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

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

finish();
System.exit(0);

希望能帮助到你。

于 2012-08-05T09:50:21.777 回答