Почему три (избыточных?) варианта акселерометра в датчиках Android

В андроиде у нас есть Sensor.TYPE_GRAVITY, Sensor.TYPE_ACCELEROMETER, Sensor.TYPE_LINEAR_ACCELERATION.

На форуме разработчиков Android известно, что «Выходные данные акселерометра, датчиков гравитации и линейного ускорения должны подчиняться следующему соотношению: ускорение = гравитация + линейное ускорение».

Используют ли Sensor.TYPE_GRAVITY и Sensor.TYPE_LINEAR_ACCELERATION тот же датчик, что и Sensor.TYPE_ACCELEROMETER, то есть акселерометр? Какова цель наличия 3 разных констант, если значение одной можно вывести, используя другую, используя фильтры нижних и верхних частот?


person user682765    schedule 10.09.2011    source источник


Ответы (2)


Это связано с тем, что TYPE_LINEAR_ACCELERATION и TYPE_GRAVITY доступны, начиная с уровня API 9 (Android 2.3). Если вы хотите создать приложение с более ранней версией API, у вас будет доступ только к TYPE_ACCELEROMETER (начиная с уровня API 3). TYPE_LINEAR_ACCELERATION и TYPE_GRAVITY действительно полезны и избавляют от необходимости разделять TYPE_ACCELEROMETER. Я развертываю для Android 2.2 (уровень API 8) и до сих пор не знаю, как это сделать!

Дополнительная информация: http://developer.android.com/reference/android/hardware/Sensor.html

person gian1200    schedule 11.10.2011

Если вам нужна более подробная информация об этих новых «плавких» датчиках, посмотрите ответы на этот вопрос. Там вы найдете объяснение различных типов датчиков, напрямую от одного из разработчиков Google, работающих над этими темами.

person jap1968    schedule 06.12.2011