Bonjour,

j'ai quelques questions sur l'utilisation de foreground service.

Mon application est constituée de plusieurs foreground service, réalisant chacun un certain type de mesure, et dérivant tous d'une même classe de base. J'ai ainsi la structure suivante :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
abstract BaseSensor extends Service
 
Sensor1 extend BaseSensor
 
Sensor2 extend BaseSensor 
 
...
.

Je souhaite
- pouvoir connaitre l'état de chacun de mes services
- récupérer les données produites par ceux-ci.

Mon idée est d'utiliser des membres static pour les raisons suivantes :
- je peux savoir à tout moment l'état d'un des services (Sensor1.isRunning() )
- récupérer rapidement et régulièrement les données sachant que celles-ci sont assez conséquentes. (Sensor1.getData() )

En implémentant de cette manière dans chacun de mes service cela fonctionne bien. Cependant je n'arrive pas à factoriser ce mode de fonctionnement dans la classe de base. En effet si je crée un membre static dans la class de base il sera le même dans toutes les sous-classe, par ailleurs je ne peux pas créer de méthode abstraite static.

Avez-vous une idée ?

Merci !