2012-05-02 3 views
0

Je développe une application de chat simple avec plus de 8 activités. Mais mon problème principal est avec deux activités de mon application. Pensez à WhatsApp, il a une activité principale (liste de contacts) et l'activité de chat, et toujours, l'application WhatsApp conserve l'application de démarrage de l'état de la pile à partir de la liste des applications ou appui long sur HOME. De même, si l'application commence à partir de la notification, ne jamais apparaître d'activités dupliquées dans la pile. Je voudrais copier ce comportement dans mon application mais j'ai essayé toutes les possibilités et est toujours un cas où une activité n'est pas détruite, des activités en double sur la pile, tous ces problèmes essayant de maintenir l'état de pile en revenant à app.Maintenir l'activité Android Pile avec notifications

Quelqu'un sait comment l'implémenter?

  • Activité A-> Liste de contacts
  • Activité B> Chat Activité

Quels sont les paramètres dans le manifeste pour chaque activité?

Et pour la notification d'intention? Je veux notification activité de lancement B et en appuyant sur le bouton retour pour aller à l'activité A.

Répondre

0

Je ne sais pas exactement ce que vous cherchez, mais voici deux choses qui peuvent aider:

  • android:noHistory: définissez cet attribut sur true dans le manifeste pour les activités censées ne laisser aucune trace dans la pile d'activités. Donc, si vous allez ActivityA -> ActivityB (noHistory = true) -> ActivityC, et que l'utilisateur appuie sur le bouton de retour, vous revenez à ActivityA, car ActivityB est déjà déchargé.
  • Activity.finish(): l'activité à laquelle il est appelé se ferme. Les rappels habituels (onStop(), onDestroy()) sont appelés. Si vous souhaitez empêcher les activités en double, il peut être utile de l'appeler dans le champ onPause() de l'activité que vous ne souhaitez pas dupliquer.

Si ce ne sont pas assez, alors il y a beaucoup plus de détails dans la documentation « stack arrière »:

https://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html

+0

problème est que l'intention de notification lance Activité A comme nouvelle tâche avec des paramètres supplémentaires , parce que lorsque l'activité A est chargée obtient les paramètres d'intention et lance ActivityB, donc quand j'ai fini avec l'activité B, j'appuie sur le bouton Précédent pour aller à l'activité A, mais si à ce moment j'appuie sur home, Après une longue pression sur la maison, elle lance à nouveau l'activité A avec les paramètres d'intention qui lancent l'activité B, donc je suis à nouveau dans l'activité B. Le problème apparaît quand j'ai lancé mon application du lanceur et j'appuie sur la maison, après que si j'entre en appuyant sur un problème de notification apparaît. – Igor