Reputation: 176
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
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
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
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