Interakcja

Z punktu widzenia aplikacji na Androida każdy czujnik Androida jest niezależną jednostką, co oznacza, że ​​nie ma interakcji między różnymi czujnikami.

  • Dzieje się tak, mimo że kilka czujników systemu Android może współdzielić ten sam podstawowy czujnik fizyczny
  • Na przykład: licznik kroków, znaczny ruch i akcelerometr, wszystkie opierające się na tym samym akcelerometrze fizycznym, muszą być w stanie działać jednocześnie
  • Odnosi się to również do wersji obudzonych i nie-budzonych tego samego czujnika

Czujniki Android muszą być w stanie działać jednocześnie i niezależnie od siebie. Oznacza to, że jakiekolwiek działanie na jednym czujniku Androida nie może wpływać na zachowanie innych czujników.

W szczególności na poziomie HAL:

  • aktywacja czujnika
  • dezaktywacja czujnika
  • zmiana częstotliwości próbkowania czujnika
  • zmiana maksymalnego opóźnienia raportowania czujnika

nie może spowodować:

  • inny aktywny czujnik przestaje działać
  • inny aktywowany czujnik do zmiany częstotliwości próbkowania
  • kolejny aktywowany czujnik, aby obniżyć jakość jego pomiarów
  • inny nieaktywny czujnik, aby rozpocząć dostarczanie zdarzeń

Żadne z powyższych działań nie może również uniemożliwić powodzenia działań (aktywacji, dezaktywacji i zmiany parametrów) na innym czujniku. Na przykład to, czy możemy aktywować licznik kroków, musi być niezależne od tego, czy akcelerometr jest aktualnie włączony.

Jako kolejny ważny przykład, czujnik budzenia aktywowany przy 5 Hz musi generować zdarzenia przy około 5 Hz, nawet jeśli jego wariant bez wybudzania jest aktywowany przy 100 Hz.