我正在使用 androids 传感器管理器来获取加速度计读数。我得到的读数是 m/s2,几乎没有问题。但是我在任何方向的任何轴上得到的最大读数是 |19.xx| ,大约为 2 Gs。这是智能手机特有的问题,还是我需要更改某些设置以获得更大的值(value)?
这是我用来获取加速度计传感器的代码:
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 (安卓 2.3.5) 三星 Spica (Android 2.1)
最佳答案
“精确值”不存在。它会因设备而异。加速度可以是正数或负数 - getMaximumRange() ,我假设您可以安全地将该值乘以 -1 以获得最小值。
关于android - Android 上加速度计读数的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8743691/