2017-10-24 11 views
0

ここで使用する遅延時間をカスタマイズしたいと思います。 SENSOR_DELAY_NORMALが使用される場合、遅延は約0.2秒(200,000マイクロ秒)である。遅れは約0.35秒にしたいと思います。遅れは、正確である必要はなく、わずか0.2秒より大きく、0.4より小さい。どのように私はそれについて行くだろうすべての提案?最小APIは15です。Android Sensor Managerの遅延:カスタム値に設定する

+0

遅延を自由に選択することはできません。 SensorManagerはデフォルトの遅延に制限されています。あなたは、より遅い遅延を使用して、データポイントのほとんどを落とすことができますが、それはバッテリーの非効率です。そして最も重要な質問は、なぜあなたはそれをやりたいのですか? – F43nd1r

+0

なぜなら、私は加速度計のデータをarduinoベースのロボットに送信しており、データがフリーズすることがあるからです。私は、より長い遅延がアプリのフリーズを止めるかどうかをテストしたいと思います。 –

+0

ええ、なぜ4を使用しないのですか? – F43nd1r

答えて

0

この4つのデフォルト値の横に任意の遅延を自由に設定できますが、保証されていません。 例コール:

mSensorManager.registerListener(this, mAccelerometer, 100); 
# 100 microsecond is the desired delay between two events here. 
# you can change it to whatever value suits you. 

それが唯一のAndroidマニュアルに従って以降のAPIレベル9を動作します。

詳細:

boolean registerListener (SensorEventListener listener, 
       Sensor sensor, 
       int samplingPeriodUs) 

samplingPeriodUs

INT:センサーイベントがで配信されている割合。これはシステムへのヒントに過ぎません。イベントは、指定されたレートより速くまたは遅く受信されることがあります。通常、イベントはより速く受信されます。値は、SENSOR_DELAY_NORMAL、SENSOR_DELAY_UI、SENSOR_DELAY_GAME、またはSENSOR_DELAY_FASTEST のいずれかでなければならず、イベント間の遅延はマイクロ秒単位で指定する必要があります。マイクロ秒単位で遅延を指定すると、Android 2.3(APIレベル9)以降でのみ動作します。以前のリリースでは、SENSOR_DELAY_定数のいずれかを使用する必要があります。*

これは詳細を読むことができます。 https://developer.android.com/reference/android/hardware/SensorManager.html

+0

はい、それもすべて読んでいます。それが、私が回避策を見つけるために質問している理由の全体です。 –

+0

Androidでこのような間隔を強制することはできないため、回避策はありません。 – utengr

+0

また、これら4つのデフォルト値の横に自由に遅延を選択することもできます。しかし、それは食べられることはありません。 – utengr

関連する問題