示例:我有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。我的问题,如何在退出应用程序时完成所有活动?
答案 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);
希望它有所帮助。