Home » Android » How to 'restart' an android application programmatically

How to 'restart' an android application programmatically

Posted by: admin March 11, 2020 Leave a comment

Questions:

I’m trying to create a ‘log out’ function within my application. Basically, by logging out, the application data should be cleared. What I would like to do is after logging out, the application should restart so that credentials etc. can be entered again. The problem I’m having is that at the point of the user clicking ‘log-out’, the application already has 3-4 activities running, and I’m not sure how to step back through them. How do I (simulate?) a restart of the app?

How to&Answers:

Checkout intent properties like no history , clear back stack etc … Intent.setFlags

Intent mStartActivity = new Intent(HomeActivity.this, SplashScreen.class);
int mPendingIntentId = 123456;
PendingIntent mPendingIntent = PendingIntent.getActivity(HomeActivity.this, mPendingIntentId, mStartActivity,
PendingIntent.FLAG_CANCEL_CURRENT);
AlarmManager mgr = (AlarmManager) HomeActivity.this.getSystemService(Context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent);
System.exit(0);