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

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

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

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

На уровне HAL:

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

не может быть причиной:

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

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

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