Android: Quit application when press back button Android: Quit application when press back button android android

Android: Quit application when press back button


When you press back and then you finish your current activity(say A), you see a blank activity with your app logo(say B), this simply means that activity B which is shown after finishing A is still in backstack, and also activity A was started from activity B, so in activity, You should start activity A with flags as

Intent launchNextActivity;launchNextActivity = new Intent(B.class, A.class);launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);                  launchNextActivity.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);startActivity(launchNextActivity);

Now your activity A is top on stack with no other activities of your application on the backstack.

Now in the activity A where you want to implement onBackPressed to close the app, you may do something like this,

private Boolean exit = false;@Override    public void onBackPressed() {        if (exit) {            finish(); // finish activity        } else {            Toast.makeText(this, "Press Back again to Exit.",                    Toast.LENGTH_SHORT).show();            exit = true;            new Handler().postDelayed(new Runnable() {                @Override                public void run() {                    exit = false;                }            }, 3 * 1000);        }    }

The Handler here handles accidental back presses, it simply shows a Toast, and if there is another back press within 3 seconds, it closes the application.


Try this:

Intent intent = new Intent(Intent.ACTION_MAIN);          intent.addCategory(Intent.CATEGORY_HOME);          intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//***Change Here***          startActivity(intent);          finish();          System.exit(0);


I had the Same problem, I have one LoginActivity and one MainActivity.If I click back button in MainActivity, Application has to close.SO I did with OnBackPressed method. this moveTaskToBack() work as same as Home Button. It leaves the Back stack as it is.

public void onBackPressed() {  //  super.onBackPressed();    moveTaskToBack(true);}