2010-06-30 5 views
0

Je dois annuler une alarme répétée lorsque mon application se termine. Le problème est que j'ai plusieurs activités et puisqu'elles peuvent être tuées à tout moment, comment puis-je déterminer quand la dernière activité est en train d'être arrêtée pour que je puisse appeler ma méthode d'annulation d'alarme?Comment savoir quand mon application Android se termine?

Répondre

-1

Il n'y a pas de manière 100% fiable. La meilleure chose que vous pouvez faire est sous-classe Application et remplacer onTerminate().

+0

Bien sûr, il n'y a aucune garantie onTerminate() sera jamais appelé non plus. Et les alarmes ne sont supprimées que si le système d'exploitation redémarre. Donc je pense maintenant que je ne dois pas utiliser setRepeating() dans AlarmManager. Peut-être que je ferais mieux de planifier la prochaine alarme à l'intérieur de mon gestionnaire d'alarme et le faire vérifier pour voir si l'application est en cours d'exécution? – Eno

+0

@Eno Je pense que oui. 'AlarmManager' démarre probablement un' Service', n'est-ce pas? Assurez-vous que cela n'apporte pas la 'Application'. – yanchenko

Questions connexes