Как это работает?
Для доступа к данным сенсоров достаточно подписаться на соответствующий стрим. Например:
userAccelerometerEvents.listen(
(AccelerometerEvent event) {
…
},
onError: (error) {},
cancelOnError: true,
);
Важно: На некоторых старых Android-устройствах данные сенсоров могут быть недоступны. Поэтому не забывайте обрабатывать ошибки через
onError.Какие стримы доступны?
accelerometerEvents — необработанные данные акселерометра, включая гравитационное притяжение Земли.
userAccelerometerEvents — данные акселерометра без учета гравитации.
gyroscopeEvents — данные о вращении устройства.
magnetometerEvents — данные о магнитном поле вокруг устройства.
barometerEvents — данные об атмосферном давлении.
Для доступа к сенсорам в iOS необходимо добавить ключ в
Info.plist, иначе приложение упадет.<key>NSMotionUsageDescription</key>
<string>Ваше описание</string>
Для чего могут быть использованы эти датчики:
Акселерометр — например, для определения тряски устройства.
Магнитометр — для определения направления взгляда пользователя (например, в картографии).
Гироскоп — для определения наклона устройства (раньше часто использовался в играх).
Барометр — для измерения высоты над уровнем моря.
Плагин
sensors_plus — это мощный инструмент для работы с сенсорами, который может открыть новые возможности для вашего приложения. Попробуйте и делитесь своими кейсами!
