在 API 16 中发布的 finishAffinity 方法将关闭所有正在进行的活动并关闭应用:
this.finishAffinity();
完成此活动以及当前任务中紧挨着它下方具有相同相关性的所有活动。当应用程序可以启动到另一个任务(例如,从它所理解的内容类型的ACTION_VIEW)并且用户已使用向上导航从当前任务切换到其自己的任务时,通常使用此方法。在这种情况下,如果用户已向下导航到第二个应用程序的任何其他活动,则应作为任务切换的一部分从原始任务中删除所有这些活动。
请注意,此完成操作不允许您将结果传递到上一个活动,如果您尝试这样做,将引发异常。
从 API 21 开始,您可以使用:
finishAndRemoveTask();
完成此任务中的所有活动,并将其从近期任务列表中删除。
选择:
getActivity().finish();
System.exit(0);
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
Process.sendSignal(Process.myPid(), Process.SIGNAL_KILL);
Intent i = new Intent(context, LoginActivity.class);
i.putExtra(EXTRA_EXIT, true);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(i);
来源: 如何以编程方式退出安卓应用程序
希望它有帮助!祝你好运!