2010-07-01 4 views
1

J'ai un service qui écoute certains événements.L'activité reste à l'écran après qu'une autre activité a été appelée depuis un service et s'est terminée sur Android

Lorsque cet événement se produit, il déclenche un écran par startActivity (intention)

Lorsque l'utilisateur se termine de faire quelque chose sur cet écran, le code appelle finish()

mais au lieu de « fermeture » du complet application, montre l'activité principale/lanceur.

un moyen de contourner ce problème?

grâce

Répondre

0

Vous pouvez dire l'activité principale à la fin() à droite avant d'appeler startActivity(). De cette façon, lorsque l'activité de l'écran se termine, l'application n'aura aucune activité en cours d'exécution et sortira ainsi.

À titre de comparaison, vous pouvez utiliser startActivityForResult() à la place et avoir l'appel de l'activité principale finish() lorsque l'activité de l'écran est terminée.

+0

Il appelle l'activité d'un service de sorte que la méthode correcte appelle 'stopSelf()' après le 'startActivity()' – Macarse

+0

les deux réponses sont erronées. Comme il n'est pas appelé depuis une autre activité, je ne peux pas appeler finish(). Et aussi stopSelf() arrête le service, ce n'est donc pas la solution. Merci –