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, nawet jeśli kilka czujników Androida może współdzielić ten sam czujnik fizyczny
  • Na przykład: licznik kroków, znaczący ruch i akcelerometr, wszystkie oparte na tym samym fizycznym akcelerometrze, muszą być w stanie pracować jednocześnie
  • Dotyczy to również wersji tego samego czujnika z wybudzaniem i bez wybudzania

Czujniki Androida muszą być w stanie działać jednocześnie i niezależnie od siebie. Oznacza to, że żadne działanie na jednym czujniku Androida nie może wpływać na zachowanie pozostałych 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 aktywowany czujnik, aby przestał działać
  • inny aktywowany czujnik, aby zmienić częstotliwość próbkowania
  • kolejny aktywowany czujnik w celu obniżenia jakości jego pomiarów
  • inny nieaktywowany czujnik, aby rozpocząć dostarczanie zdarzeń

Żadna z powyższych czynności nie może również uniemożliwić wykonania czynności (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 wybudzenia aktywowany przy 5 Hz musi generować zdarzenia przy około 5 Hz, nawet jeśli jego wariant bez wybudzania jest aktywowany przy 100 Hz.