我得到了一種奇怪的問題與我的宏達願望。Android傳感器問題,當拔掉USB
我目前正在使用加速度計和地磁傳感器測試一些opengl的東西。
看來他們兩個人有時會返回(相當一些)完全相同的值。
我得到這個在我的onSensorChanged()
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
gravity = event.values;
}
if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) {
geomagnetic = event.values;
}
,我不知道爲什麼,但是當我拔下USB(電腦),它是剛開糟糕的是,(我用放入系統值圍繞旋轉攝像頭一個像天空地圖的對象,當我拔掉,它看起來像值是正確的約1每2秒〜)。
有時(與usb插入並看着logcat)它工作正常,永遠不會從兩個傳感器得到相同的值。
它不是我的設備,其他程序像天空地圖運行良好,但我不明白我做錯了什麼。 我從來沒有混淆過這兩個陣列的重力和地磁,它們是全局的,用於SensorManager.getRotationMatrix(R,gravity,geomagnetic)。
我想知道如果我只是沒有得到太快的值,但即使我在偵聽器中定義了SENSOR_DELAY_UI,它也是一樣的故事。