95 votes

Comment "redémarrer" une application Android de manière programmatique ?

J'essaie de créer une fonction de "déconnexion" dans mon application. En principe, en se déconnectant, les données de l'application doivent être effacées. Ce que j'aimerais faire, c'est qu'après la déconnexion, l'application redémarre afin que les informations d'identification, etc. puissent être saisies à nouveau. Le problème que j'ai est qu'au moment où l'utilisateur clique sur "déconnexion", l'application a déjà 3-4 activités en cours, et je ne sais pas comment revenir en arrière. Comment puis-je (simuler ?) un redémarrage de l'application ?

70voto

Mohit Sharma Points 1229

Vérifier les propriétés de l'intention comme pas d'historique, 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);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X