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