-1

アプリケーションで加速度計データを使用したいと考えています。

TYPE_ACCELEROMETER問題なくにアクセスできますがTYPE_LINEAR_ACCELERATION、地球の重力から既にフィルタリングされている を使用することを多くの人が提案しています。ただし、ログの下のコードでは null が返されるため、そのセンサーにアクセスできないようです。私が理解していることからTYPE_LINEAR_ACCELERATION、8を超えるAndroid APIの「ソフトウェアセンサー」として利用できます... Samsung Galaxy Tab 2で最小値として14を使用しています。

なぜ私がnullになるのですか?この機種はジャイロがないからでしょうか?

コード:

mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

mLinearAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION);

Log.i("TYPE_LINEAR_ACCELERATION", String.valueOf(mLinearAccelerometer));

ありがとう

編集:欠落している「=」記号を追加

4

1 に答える 1

3

Androidモーションセンサーのドキュメントによると:

Android オープン ソース プロジェクト (AOSP) では、ソフトウェア ベースの 3 つのモーション センサー (重力センサー、線形加速度センサー、回転ベクトル センサー) が提供されています。これらのセンサーは Android 4.0 で更新され、デバイスのジャイロスコープを使用するようになりました... これら 3 つのセンサーはすべてジャイロスコープに依存しています。デバイスにジャイロスコープがない場合、これらのセンサーは表示されず、使用できません。
. あなたの推測は正しいです。ジャイロスコープがなければ、重力センサーは利用できません。

于 2013-06-23T22:34:06.050 に答える