2016-06-27 3 views
0

私は車の加速度を測定するアプリを開発しています。すべての携帯電話でTYPE_LINEAR_ACCELERATIONを使用できますか?

加速度計を使用する代わりに、私は直線加速度計について読んで実装しました。

私は2台のデバイスをテストしていますが、これはSony Xperia Z1で問題なく動作していますが、古いAlcatel onetouchでは何の価値もありません。

私のコードが間違っているか、ハードウェアの制限であるため、アンドロイドバージョン(5.1対4.2)が原因ですか? APIレベル9 int型TYPE_LINEAR_ACCELERATION に

TYPE_LINEAR_ACCELERATION

追加リニア加速度センサの種類を記述する定数を:

答えて

1

は、Androidのドキュメントから撮影します。

詳細については、SensorEvent.valuesを参照してください。

定数値:10(0x0000000Aをは)

これは、このpostで考慮Lorkの応答として実行してください任意のデバイスポストAPI 9

に取り組むべきであることを意味します。特定の種類の動きを測定するために使用すべきセンサーのタイプを示します。

更新:それは未来の読者を助けるかもしれないと私はLorkの応答の情報を追加します:

TYPE_ACCELEROMETERは、加速度計や加速度計のみを使用しています。それは生の加速度計イベントを返します。処理は最小限に抑えられます。

TYPE_GYROSCOPE(存在する場合)は、ジャイロスコープとジャイロスコープのみを使用します。上のように、処理なしの未加工イベント(角速度un rad/s)を返します(オフセット/スケール補正なし)。

TYPE_ORIENTATIONは非推奨です。 yaw/pitch/rollをdegresで返します。これはあまりよく定義されておらず、デバイスに「ロール」がない場合にのみ依存することができます。このセンサーは、加速度計と磁力計の組み合わせを使用します。 SensorManagerのヘルパーを使用すると、より良い結果が得られます。このセンサーは大きく "処理されています"。

TYPE_LINEAR_ACCELERATION、TYPE_GRAVITY、TYPE_ROTATION_VECTORは、それぞれ線形加速度、重力、回転ベクトル(四元数)を返す「融合」センサーです。これらの実装方法は定義されていません。一部のデバイスでは、h/wで実装されていますが、加速度計と磁力計を使用するデバイスでは、ジャイロを使用する他のデバイスでも使用できます。

Nexus SおよびXoomでは、現在、ジャイロスコープは使用されていません。 Nexus OneやDroidのように利用できるジャイロがないかのように動作します。将来のリリースでこの状況を改善する予定です。

現在、ジャイロを利用する唯一の方法は、TYPE_GYROSCOPEを使用して、出力を手動で統合することです。私はこれが役に立てば幸い

マティアス

+0

ことは、それはいくつかの携帯電話上で動作していないということであり、それらはタイプがAPI9に追加された後のAPI 9. –

+0

、ということを意味するものではありませんです(仮想)センサーが存在していなければなりません。 – jms

関連する問題