Comment l'Activité de contrôle de flux - bouton précédent rapport bouton Home

J'ai 3 activités dans mon application:

Activity1 -> Activity2 -> Activity3

À l'intérieur de Activity3, si l'utilisateur appuie sur le Dos, je voudrais revenir à Activity2. Dans Activity3 de onPause cas, j'ai ajouté un finish() déclaration. C'est probablement même pas nécessaire, mais je voulais m'assurer que cette Activité est nettoyé. Cela fonctionne très bien.

Cependant, alors que dans Activity3, si l'utilisateur appuie sur la Maison ou du démarrage d'une nouvelle application (par la barre de notification ou autre), je veux à la fois Activity3 et Activity2 à la fin. Si l'utilisateur retourne à cette application, il devrait reprendre avec Activity1.

J'ai trouvé comment faire l'un ou l'autre, mais je ne peux pas comprendre comment gérer les deux cas, si c'est encore possible. Puis-je piège le bouton "Retour" dans Activity3 et envoyer un message à Activity2 lui disant de ne pas finish()? Il semble que les Activités de suivre le même cycle de vie de flux (Pause, Arrêt), indépendamment de ce que vous faites pour les envoyer à l'arrière-plan.

Juste pour répondre à la question de savoir pourquoi je veux ce problème, imaginez que Activity1 est un écran de connexion, Activity2 est un écran de sélection, et Activity3 est un écran contenu. Si j'appuie sur le Dos de la page de contenu, je veux être en mesure de procéder à une nouvelle sélection. Si je quitter par tout autre moyen (à la Maison, barre de notification), je veux que l'utilisateur soit "logged out".

Merci d'avance pour votre aide.

OriginalL'auteur RMS2 | 2010-09-02