Fractal Posté(e) 12 avril 2011 Share Posté(e) 12 avril 2011 Bonjour, Ce que je voudrais faire ne me semble pas compliqué, mais j’ai beau chercher et essayer diverses solutions, rien ne semble fonctionner. Supposons que la pile d’activités soit de la forme A → B → C → D où A, B, C, D sont des activités, D est l’activité courante et A l’activité initiale de l’application. J’aimerais que lorsque l’utilisateur quitte l’application, la pile d’activités soit détruite et qu’elle redémarre ensuite systématiquement à l’activité A. J’ai déjà essayé deux potentielles solutions, à savoir le flag FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET lors de la création de l’activité B, et l’attribut android:clearTaskOnLaunch dans le Manifest, mais aucune des deux ne marche dans le cas où l’utilisateur appuie sur le bouton home, puis revient à l’activité via les activités récentes (dans ce cas aussi je veux qu’il soit ramené à l’activité A). Je pourrais aussi mettre un finish() dans ma méthode onStop() de D, mais il faudrait alors qu’il passe le message à l’activité C, puis à l’activité B pour qu’elles se terminent elles aussi uniquement à ce moment-là. De plus, le problème avec cette solution est que en fonctionnement normal, l’utilisateur alterne entre les activités C et D (l’activité D est créée puis détruire périodiquement), et il faut également que je remette à zéro la pile d’activités lorsque l’utilisateur quitte l’application alors qu’il est dans l’activité C. Du coup je ne peux pas le faire dans la méthode onStop() de l’activité C parce qu’il faudrait que je sache si l’utilisateur vient de quitter l’application ou si c’est juste l’activité D qui a démarré. Est-ce possible simplement ? Merci :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 13 avril 2011 Share Posté(e) 13 avril 2011 Utilise startActivityForResult/onActivityResult pour le lancement de tes Activity, qui te permettra de retourner une valeur depuis l'Activity appelée vers l'appelante, lors de la fermeture de l'Activity appelée. Couplées à onBackPressed et onStop, tu devrais pouvoir implémenter ce que tu veux faire. Mais, à ma connaissance, il n'y a rien de tout fait, car ce que tu veux faire est un peu hors comportement normal Android Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fractal Posté(e) 13 avril 2011 Auteur Share Posté(e) 13 avril 2011 Hum, dommage, je pensais qu’il y avait un truc tout fait. Je vois bien que c’est un peu hors comportement normal ce que je veux faire, mais pourtant c’est ce qui est le plus logique dans mon cas. Mon application est un jeu en ligne, et je veux que quand l’utilisateur quitte l’application il soit déconnecté, et que du coup il ne puisse plus revenir à l’écran de jeu mais qu’il soit ramené à l’écran principal où il n’y a pas besoin d’être connecté. Sinon je pourrais peut-être mettre dans la méthode onStart() de mes activités un test qui regarde si on est connecté, et si non qui appelle finish(), c’est peut-être plus simple. Merci :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.