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);
来源:如何以编程方式退出android应用程序
希望能帮助到你!祝好运!