根据android规范,所有传感器必须使它们的轴定向相同,如:
中所述http://developer.android.com/reference/android/hardware/SensorEvent.html
我有两部摩托罗拉手机:mb300和motorola flipout。
在翻转中,磁场传感器正确安装。但是在mb300中,他们交换了X和Y轴。 通过测试,我确认加速度计正确安装在两部手机上并且值一致 彼此。但是关于磁场传感器,这些值并不一致,但是在我对mb300执行以下操作后,它们开始太一致了:
(data是数组SensorEvent.values)
if (type == Sensor.TYPE_MAGNETIC_FIELD) { //becauseof mb300 phone
float swap;
swap = -data[1]; //x = -y
data[1] = data[0]; //y = x
data[0] = swap;
}
我仔细测试了这个。
有没有人注意到这个?
答案 0 :(得分:0)
以相同方向安装所有传感器IC 在手机上通常不可能。由于空间小 我们经常遇到很多硬件 你描述的情况。
我要说的是,这里没有任何“错误”。
正确更换轴后(在驱动器/ HAL中)
Android框架将始终获得正确的数据。
如果你相应地换了轴,就不会有“副作用”。
问候
CVS @ 2600Hertz