Cómo ‘reiniciar’ una aplicación de Android programáticamente

Estoy tratando de crear una función de “cierre de sesión” dentro de mi aplicación. Básicamente, al cerrar la sesión, los datos de la aplicación deben borrarse. Lo que me gustaría hacer es después de cerrar la sesión, la aplicación debe reiniciarse para que las credenciales, etc. puedan ingresarse nuevamente. El problema que tengo es que, en el momento en que el usuario hace clic en ‘cerrar sesión’, la aplicación ya tiene entre 3 y 4 actividades en ejecución, y no estoy seguro de cómo dar un paso atrás en ellas. ¿Cómo puedo (simular?) Reiniciar la aplicación?

intente usar las líneas a continuación para reiniciar la aplicación

Intent i = getBaseContext().getPackageManager() .getLaunchIntentForPackage( getBaseContext().getPackageName() ); i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); 

Propiedades de bash de pago como sin historial, borrar la 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);