1

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;
}

これを注意深くテストしました。

他の誰かがこれに気づきましたか?

4

1 に答える 1

0

すべてのセンサーICを同じ向き
に取り付けることは、携帯電話では不可能なことがよくあります。
多くのハードウェアを詰め込むために利用できるスペースが小さいため、
あなたが説明する状況に遭遇することがよくあります。

言わせてください、これには「間違った」ものは何もありません。

軸を適切に交換すると(ドライバー/ HALで)
、Androidフレームワークは常に適切なデータを取得します。

それに応じて軸を交換した場合、「副作用」はありません。

よろしく
CVS@2600Hertz

于 2011-03-04T16:32:29.770 に答える