How to exit an Android app programmatically?

The finishAffinity method, released in API 16, closes all ongoing activities and closes the app:

this.finishAffinity();

Finish this activity as well as all activities immediately below it in the current task that have the same affinity. This is typically used when an application can be launched on to another task (such as from an ACTION_VIEW of a content type it understands) and the user has used the up navigation to switch out of the current task and in to its own task. In this case, if the user has navigated down into any other activities of the second application, all of those should be removed from the original task as part of the task switch.

Note that this finish does not allow you to deliver results to the previous activity, and an exception will be thrown if you are trying to do so.

Since API 21, you can use:

finishAndRemoveTask();

Finishes all activities in this task and removes it from the recent tasks list.

Alternatives:

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);

Source: How to quit android application programmatically

Hope it helps! Good Luck!

Leave a Comment