I am developing the application in which i want to close whole application on button click. I know in android we should not think about to close the application because android does that automatically from this Is quitting an application frowned upon?. but yet i want to close my application.
So what i am doing to close application is i am using Intent.FLAG_ACTIVITY_CLEAR_TOP
flag to delete the activity stack.
Intent intent = new Intent(Activity3.this, FinishActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
And in onCreate of FinishActivity.class
i am calling this.finish()
but application is not get closed and previous activity gets reopened.
FinishActivity.class
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.finish();
}
Update :
Here is the scenario
MainActivity->Activity2->Activity3->FinishActivity
Here Activity2
is gets opened after finishing the activity.
How do i achieve this? Any idea and suggestion will be appreciated.
Thanks & Regards
Give this a try. This should clear your activity stack.
Intent i = new Intent(this,MyActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
This finally worked for me 100% of the time. I tried all of the flags standalone, never worked for all instances of the code. Used all the flags everywhere I want this functionality, about 5 different places, and it now works.
Intent intent = new Intent(actvSignIn.this, actvNearbyPlaces.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With