Start an Activity, start it like this:
Intent myIntent = new Intent(SplashActivity.this, MainActivity.class);
startActivityForResult(myIntent, 0);
When you want to close the entire app, do this:
setResult(RESULT_CLOSE_ALL);
finish();
RESULT_CLOSE_ALL is a final global variable with a unique integer to signal you want to close all activities.
Then define every activity's onActivityResult(...) callback so when an activity returns with the RESULT_CLOSE_ALL value, it also calls finish():
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch(resultCode)
{
case RESULT_CLOSE_ALL:
setResult(RESULT_CLOSE_ALL);
finish();
}
super.onActivityResult(requestCode, resultCode, data);
}
See these threads for other methods as well:
Android: Clear the back stack
Finish all previous activities