С точки зрения приложений Android каждый датчик Android является независимым объектом, что означает отсутствие взаимодействия между различными датчиками.
- Это верно, несмотря на то, что несколько датчиков Android могут использовать один и тот же базовый физический датчик.
- Например: счетчик шагов, значительное движение и акселерометр, основанные на одном и том же физическом акселерометре, должны работать одновременно.
- Это также верно для версий одного и того же датчика с активацией и без нее.
Сенсоры Android должны работать одновременно и независимо друг от друга. То есть любое действие на одном датчике Android не должно влиять на поведение других датчиков.
В частности, на уровне HAL:
- активация датчика
- деактивация датчика
- изменение частоты дискретизации датчика
- изменение максимальной задержки отчета датчика
не может вызвать:
- другой активированный датчик, чтобы перестать работать
- другой активированный датчик для изменения частоты дискретизации
- другой активированный датчик для снижения качества его измерений
- другой неактивированный датчик для начала доставки событий
Ни одно из вышеперечисленных действий не может помешать успешному выполнению действий (активация, деактивация и изменение параметров) на другом датчике. Например, то, можем ли мы активировать счетчик шагов, не должно зависеть от того, активирован ли в данный момент акселерометр.
Еще один важный пример: датчик пробуждения, активированный на частоте 5 Гц, должен генерировать события на частоте около 5 Гц, даже если его вариант без пробуждения активируется на частоте 100 Гц.