Я использую диспетчер датчиков Android для получения показаний акселерометра.Показания, которые я получаю, m / s2 и почти все в порядке.Но максимальное значение, которое я получаю по любой оси в любом направлении, составляет | 19.xx |, что составляет примерно 2 Gs.Это проблема для смартфона или есть какие-то настройки, которые мне нужно изменить, чтобы получить большие значения?
Это код, который я использую для получения датчика акселерометра:
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)