這裏是我的問題:我使用的Android Wear(索尼智能watch3)加速度計典型方式:Android Wear加速度計只給+ - 2克
sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
senAccelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorManager.registerListener(this, senAccelerometer, SensorManager.SENSOR_DELAY_FASTEST);
@Override
public void onSensorChanged(SensorEvent sensorEvent) {
float x;
float y;
float z;
switch (sensorEvent.sensor.getType()) {
case Sensor.TYPE_ACCELEROMETER:
Log.d("swing", "onSensorChanged:" + senAccelerometer.getVersion());
calculateSensorFrequency(System.currentTimeMillis());
x = sensorEvent.values[0];
y = sensorEvent.values[1];
z = sensorEvent.values[2];
.
.
.
break;
}
在onSensorChange
方法我越來越只+ - 2克讀儘管Sensor.getMaximumRange()
給出了16g(156.96 m/s * s)的事實。有沒有辦法校準加速度計或者這是一個錯誤?任何幫助將不勝感激。 Thx
P.S.我試圖在google中使用Sensor.getVendor
方法找到硬件加速計模塊範圍的詳細specyfication,但沒有運氣。
這對你說的非常有幫助。我很好奇,有沒有辦法解開這些加速度範圍,例如±8g? –
在Api中似乎沒有解鎖更高範圍的方法。但正如描述(http://stackoverflow.com/questions/25280924/android-accelerometer-full-range)範圍似乎是設備相關的,只能在configuration.h中的硬件抽象層中進行更改,因此您有根源於手錶。我已經使用第二款索尼智能手錶3測試了它,它具有+/- 2g的相同範圍。 –