だから私は動きを検出するアプリを書いています、そしてそれは様々な動きに合わせて調整する必要があります。過去数日間、aSensorEventListener
が登録された直後に、onSensorChanged(SensorEvent)
不完全な(したがって誤った)がスローされることに気づきました.values[]
。この動作は私のキャリブレーションプロセスを台無しにし、動きを示す力の量が高すぎます。これは、ダウンロードしてテストしたすべての加速度計ロギングアプリに当てはまることを確認したので、コードに固有のエラーではありません。これは、ハードウェアの不良(おそらく私のモトドロイド1に固有)、または使用しているカスタムROM(Froyo2.2.1ソースのSimplyStunning 4.9)によるソフトウェアのバグが原因である可能性があります。
例:
sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SENSOR_DELAY);
....
onSensorChanged(SensorEvent event){
// event.values[0] = 0.0
// event.values[1] = -0.47
// event.values[2] = 0.0
}
....
onSensorChanged(SensorEvent event){
// event.values[0] = 0.08
// event.values[1] = -0.47
// event.values[2] = 0.0
}
....
onSensorChanged(SensorEvent event){
// event.values[0] = 0.08
// event.values[1] = -0.47
// event.values[2] = 10.1
}
ご覧のとおり、すべての正しい値にアクセスできるようになるまでに2回の読み取りが必要になることがよくあります。
誰かがmotodroid1または他の電話でこの動作を確認または拒否できますか?最初の2つまたは3つの読み取り値を削除して、キャリブレーションが歪まないようにするのが良い解決策だと思いますか?