我对 HTC 的渴望有一种奇怪的问题。
我目前使用加速度计和地磁传感器测试了一些 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 秒 1 次 ~)。
有时(插入usb并查看logcat)它工作得很好,并且永远不会从两个传感器获得相同的值。
这不是我的设备,天空地图等其他程序运行良好,但我不明白我做错了什么。我从未将重力和地磁这两个阵列混为一谈,它们只是全局的,并与 SensorManager.getRotationMatrix(R,gravity,geomagnetic) 一起使用。
我想知道我是否只是没有太快地获得值,但即使我在侦听器中定义 SENSOR_DELAY_UI ,它也是同一个故事。