Взаимодействие

С точки зрения приложений Android каждый датчик Android является независимым объектом, что означает отсутствие взаимодействия между различными датчиками.

  • Это верно, несмотря на то, что несколько датчиков Android могут использовать один и тот же базовый физический датчик.
  • Например: счетчик шагов, значительное движение и акселерометр, основанные на одном и том же физическом акселерометре, должны работать одновременно.
  • Это также верно для версий одного и того же датчика с активацией и без нее.

Сенсоры Android должны работать одновременно и независимо друг от друга. То есть любое действие на одном датчике Android не должно влиять на поведение других датчиков.

В частности, на уровне HAL:

  • активация датчика
  • деактивация датчика
  • изменение частоты дискретизации датчика
  • изменение максимальной задержки отчета датчика

не может вызвать:

  • другой активированный датчик, чтобы перестать работать
  • другой активированный датчик для изменения частоты дискретизации
  • другой активированный датчик для снижения качества его измерений
  • другой неактивированный датчик для начала доставки событий

Ни одно из вышеперечисленных действий не может помешать успешному выполнению действий (активация, деактивация и изменение параметров) на другом датчике. Например, то, можем ли мы активировать счетчик шагов, не должно зависеть от того, активирован ли в данный момент акселерометр.

Еще один важный пример: датчик пробуждения, активированный на частоте 5 Гц, должен генерировать события на частоте около 5 Гц, даже если его вариант без пробуждения активируется на частоте 100 Гц.