I have 2 activity, so activity 1 go to activity 2 then on activity 2 I have an exit button. But when I click it, all it only exited the activity number 2 and return to activity 1 again. Its basically felt like I just started the application again. I am not sure why?
This is my code.
Button btExit = (Button) findViewById(R.id.btExit);
btExit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
System.exit(0);
}
});
You can either simulate hitting the home button:
but this will not close the app..
to close it, you can do as https://stackoverflow.com/a/9735524/1434631
use finish() and a sharedPreference flag and set the flag when you click button. on your other activity, check the flag and finish() it if the flag is set
Finish the first activity by calling
finish();
on the buttonclick after passing the intent to start the next activity.is a bad way of termination of android apps. Android manages it in its own os
You can bring up the Home application by its corresponding Intent:
hope this helps
EDIT :-
Then I suppose you are aiming at finishing all the stacked up activity..
Here it is :-
Closing all the previous activities as follows:
Then in MainActivity
onCreate()
method add this to finish the MainActivityThe result will be same as above, but because all your stacked up activities are closed, when you come back to you app it must start from your main activity i.e launcher activity.
Hope this helps.
Don't use
System.exit
.If you want user to close app from any
Activity
I suggest usingstartActivityForResult
, checking returned value inonActivityResult
in firstActivity
and callingfinish()
there too.System.exit(0) does not work for closing application