Du point de vue des applications Android, chaque capteur Android est une entité indépendante, ce qui signifie qu'il n'y a aucune interaction entre les différents capteurs.
- Cela est vrai même si plusieurs capteurs Android peuvent partager le même capteur physique sous-jacent.
- Par exemple: le compteur de pas, le mouvement important et l'accéléromètre, qui reposent tous sur le même accéléromètre physique, doivent pouvoir fonctionner simultanément.
- Cela s'applique également aux versions avec et sans réveil du même capteur.
Les capteurs Android doivent pouvoir fonctionner simultanément et indépendamment les uns des autres. Autrement dit, toute action sur un capteur Android ne doit pas avoir d'incidence sur le comportement des autres capteurs.
Plus précisément, au niveau du HAL:
- d'activer un capteur ;
- désactiver un capteur
- modifier la fréquence d'échantillonnage d'un capteur ;
- modifier la latence maximale de création de rapports d'un capteur ;
ne peuvent pas provoquer:
- un autre capteur activé cesse de fonctionner
- un autre capteur activé pour modifier le taux d'échantillonnage
- un autre capteur activé pour réduire la qualité de ses mesures
- un autre capteur non activé pour commencer à envoyer des événements ;
Aucune des actions ci-dessus ne peut empêcher la réussite des actions (activation, désactivation et modification des paramètres) sur un autre capteur. Par exemple, la possibilité d'activer le compteur de pas doit être indépendante de l'activation actuelle de l'accéléromètre.
Autre exemple important : un capteur de réveil activé à 5 Hz doit générer des événements à environ 5 Hz, même si sa variante non réveillée est activée à 100 Hz.