how to finish all activities except the first activity?

android, android-intent

Solution

To clear top activities from stack use below code

Intent intents = new Intent(A.this, B.class);
intents.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
            | Intent.FLAG_ACTIVITY_CLEAR_TOP
            | IntentCompat.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intents);
finish();

It will delete all activities from stack either asynctask run or not in the application.

It works fine and also a good approach

Problem

I google it but even if i run this code below it didnt finish the other activities. ``` ButtonClick.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { LoginManager.getInstance().ctrl = false; UserManager.getInstance().loginControl(); OrderManager.getInstance().orderCtrl = false; Intent intent = new Intent(OrderComplete.this, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(intent); finish(); } }); } ```

Original source