When my application is idle, Android kills the process. If user reopens the application after some time, only the top Activity is created - this is a problem for me because the
I think this answer only for you.
After finish progress call this
finish();
Intent intent = new Intent(this, sameactivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Just identify that your Application
is being launched after it was previously destroyed by Android, you could do this by keeping a variable in a custom Application
class, and set it to true
after your applicaiton is initialized. So when the applicaction is re-launched, this flag is false, and then just make an Intent
to launch your main Activity
specifying FLAG_ACTIVITY_CLEAR_TOP
:
Intent reLaunchMain=new Intent(this,MainActivity.class);
reLaunchMain.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(reLaunchMain);
You should probably be looking at storing such Objects in your app's implementation of the Application class.
If these objects contain state that needs to be more persistent, you should save the state of such Objects in each Activity's onPause()
method, either to the database, in SharedPreferences or remotely.