MONU KUMAR
MONU KUMAR

Reputation: 176

Remove all activities of an app from every existing task in Activity Back Stack

Is there a way of removing all activities belonging to the app in foreground (my app)?

The activities might be present in different tasks. Also after removing all activities my app should return to home screen which is launcher activity of my app.

Any kind of help would be greatly appreciated.

Upvotes: 3

Views: 448

Answers (3)

Sakariya ravi
Sakariya ravi

Reputation: 1

    Intent i = new Intent(OldActivity.this, NewActivity.class);
    // set the new task and clear flags
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(i);
finish();

Upvotes: 0

Paras Santoki
Paras Santoki

Reputation: 841

You need to call your activity like this.

Intent login=new Intent(MainActivity.this,HomeActivity.class);
login.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
login.putExtra("flag",false);
startActivity(login);
finish();

Upvotes: 1

Jyoti JK
Jyoti JK

Reputation: 2171

You may need

Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

FLAG_ACTIVITY_CLEAR_TASK

Any existing task that would be associated with the current activity to be cleared before the desired activity is started. Simply old activities are finished.

FLAG_ACTIVITY_NEW_TASK

If set, this activity will become the start of a new task on this history stack.

for more details, Intent Flags

Upvotes: 0

Related Questions