J'ai une application qui utilise un service pour récupérer des données en arrière-plan à la fois pendant que l'application est en cours d'exécution et quand ce n'est pas le cas. Lorsqu'il ne fonctionne pas, je souhaite afficher une notification lorsqu'il y a de nouvelles données, mais pas lorsque l'application est en cours d'exécution.Comment puis-je déterminer quand mon application est en cours d'exécution?
Comment puis-je déterminer dans mon service si l'application est en cours d'exécution ou non?
Il n'est pas nécessaire d'utiliser une sous-classe Application - ajoutez simplement une variable statique dans le service, que ces méthodes définissent (ou appelez une fonction statique qui maintient l'état statique interne). De même que pour l'objet Application, il n'y a aucune garantie que Activity.onDestroy() sera détruit - si le système a besoin de la mémoire du processus, il supprimera simplement le processus et aucun code ne sera exécuté. – hackbod
Ma seule idée est dans ce sens aussi. J'espérais qu'il y avait une méthode uiRunning quelque part. Je pourrais avoir des applications où différentes activités s'exécutent à des moments différents, ce qui rendrait la synchronisation du drapeau plus complexe. Je suppose que je devrais définir/enlever le drapeau dans onStart/onStop? – Wilken