Question

Je travaille sur une application où j'ai besoin périodiquement d'obtenir une valeur de capteur. Pour cela, j'utilise AlarmManager et un récepteur à intervalles définis. La mise en œuvre du capteur d'Android semble se concentrer sur la lecture continue des données, et il ne semble pas possible de s'interrompre pour une seule lecture actuelle.

Ma question est la meilleure pratique pour "simuler" un mécanisme de sondage? Y a-t-il des exemples que je n'ai pas rencontrés? Une approche consiste à simplement appeler RegisterListener (), à obtenir la lecture actuelle, puis à appeler stopTListener (). Mais cela ne semble pas fonctionner car la lecture n'est pas disponible instantanément.

Était-ce utile?

La solution

Vous pouvez utiliser la même approche que j'ai utilisée Dans ce projet pour les emplacements de sondage. Utiliser un WakeLock Pour garder l'appareil éveillé et demander au service d'enregistrer l'écouteur du capteur dans onStartCommand(). Lorsque l'événement du capteur arrive, libérez le WakeLock et appeler stopSelf() pour fermer le service.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top