Added in API level 1
Call this when your activity is done and should be closed. The Activity Result is propagated back to whoever launched you via onActivityResult().
you must use System.exit() to kill your application on a click to directly close the activity.
Why finish() is not working for you ?
Take an example where Activity A had called Activity B and when you call finish() on your activity B if finish the activity but as Activity A had given him called and it is a previous activity it returns back you to Activity A screen
What you can do?
You can call System.exit() - It will directly kill the application wherever it is called from it does not matter.
Use Process.killProcess(your process id);
Start the home activity by killing your current activity by using finish() and then call
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);