android の仕様によると、すべてのセンサーは、次のように軸を同じ方向に向ける必要があります。
http://developer.android.com/reference/android/hardware/SensorEvent.html
Motorola の携帯電話を 2 台持っています。mb300 と motorola Flipout です。
フリップアウトでは、磁場センサーが正しく取り付けられています。しかし、mb300 では、X 軸と Y 軸が入れ替わっています。テストにより、加速度計が両方の電話に正しく取り付けられており、値が互いに一致することを確認しました. しかし、磁場センサーに関しては、値が一致しませんが、mb300 で次の操作を実行した後、値が一致し始めました。
(データは 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;
}
これを注意深くテストしました。
他の誰かがこれに気づきましたか?