Как получить более точную точность, чем четыре предоставленные константы точности в Android, при прослушивании датчиков?

При разработке компаса в android можно проверить надежность датчиков, проверив параметр точности, переданный в

onAccuracyChanged (датчик датчика, точность)

Этот параметр может быть только 0,1,2 или три для

SENSOR_STATUS_UNRELIABLE, SENSOR_STATUS_ACCURACY_LOW, SENSOR_STATUS_ACCURACY_MEDIUM и SENSOR_STATUS_ACCURACY_HIGH

соответственно.

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

Как это сделать?


person Gallal    schedule 27.06.2011    source источник


Ответы (1)


Вероятно, используется усреднение по времени, чтобы вернуть лучший или худший результат, поскольку существуют константы для SENSOR_DELAY_*, когда вы регистрируете прослушиватель датчика. Если вы добавите еще один уровень усреднения по времени поверх того, что дает вам система, вы сможете повысить точность за счет снижения производительности.

person Morrison Chang    schedule 27.06.2011
comment
Спасибо @Morrison Chang, но я начинаю думать, что они проверяют значения в массиве, переданном onAccuracyChanged (датчик датчика, точность int), чтобы определить, являются ли значения двумя высокими для «нормального» магнитного поля на Земле. Я не уверен, что определяет высокое значение, хотя. - person Gallal; 02.07.2011