在 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 应用程序
希望能帮助到你!祝你好运!