Aus Sicht von Android-Anwendungen ist jeder Android-Sensor eine eigenständige Einheit, dh es gibt keine Interaktion zwischen den verschiedenen Sensoren.
- Dies gilt, obwohl mehrere Android-Sensoren möglicherweise denselben zugrunde liegenden physischen Sensor verwenden
- Zum Beispiel: Schrittzähler, signifikante Bewegung und Beschleunigungsmesser, die sich alle auf denselben physikalischen Beschleunigungsmesser stützen, müssen in der Lage sein, gleichzeitig zu arbeiten
- Dies gilt auch für Weck- und Nicht-Weck-Versionen desselben Sensors
Android-Sensoren müssen gleichzeitig und unabhängig voneinander arbeiten können. Das heißt, jede Aktion auf einem Android-Sensor darf sich nicht auf das Verhalten der anderen Sensoren auswirken.
Insbesondere auf HAL-Ebene:
- Aktivierung eines Sensors
- Deaktivieren eines Sensors
- Ändern der Abtastfrequenz eines Sensors
- Ändern der maximalen Meldelatenz eines Sensors
kann nicht verursachen:
- Ein anderer aktivierter Sensor funktioniert nicht mehr
- ein weiterer aktivierter Sensor, um die Abtastrate zu ändern
- einen anderen aktivierten Sensor, um die Qualität seiner Messungen zu verringern
- ein weiterer nicht aktivierter Sensor, um mit der Übermittlung von Ereignissen zu beginnen
Auch kann keine der oben genannten Aktionen verhindern, dass Aktionen (Aktivierung, Deaktivierung und Parameteränderungen) auf einem anderen Sensor erfolgreich sind. Ob wir beispielsweise den Schrittzähler aktivieren können, muss unabhängig davon sein, ob der Beschleunigungsmesser gerade aktiviert ist.
Als weiteres wichtiges Beispiel muss ein bei 5 Hz aktivierter Wecksensor Ereignisse bei etwa 5 Hz erzeugen, selbst wenn seine Nicht-Weck-Variante bei 100 Hz aktiviert wird.