Я использую диспетчер датчиков Android для получения показаний акселерометра. Показания, которые я получаю, составляют м/с2 и почти в порядке. Но максимальное значение, которое я получаю по любой оси в любом направлении, равно |19.xx| , что составляет примерно 2 Гс. Это проблема конкретного смартфона или есть какие-то настройки, которые мне нужно изменить, чтобы получить более высокие значения?
это код, который я использую, чтобы получить датчик для акселерометра:
sensorManager = (SensorManager) context
.getSystemService(Context.SENSOR_SERVICE);
List<Sensor> sensors = sensorManager
.getSensorList(Sensor.TYPE_ACCELEROMETER);
if (sensors.size() > 0) {
sensor = sensors.get(0);
float max = sensor.getMaximumRange();
boolean running = sensorManager.registerListener(sensorEventListener,
sensor, SensorManager.SENSOR_DELAY_GAME);
}
и вот как выглядит onSensorChanged()
public void onSensorChanged(SensorEvent event) {
now = event.timestamp;
x = event.values[0];
y = event.values[1];
z = event.values[2];
}
Я использую Android API уровня 7.
И я тестировал на двух телефонах: HTC HD 2 (Android 2.3.5) Samsung Spica (Android 2.1).