0

約収集したいです。加速度計の値を5秒。これを行うための適切な方法は何ですか?

加速度計のセンサーマネージャーで自分自身を登録および登録解除してから5秒間スリープするAsyncTaskを実装して試してみました。しかし、スリープ状態の5秒間、onSensorChangedメソッドは呼び出されません:D .. ..

私が求めた動機は次のとおりです。加速度計を調整するために、センサー値を数秒間収集し(電話が床に置かれている間)、平均値を計算してバイアスを取得します...

ヒントをいただければ幸いです。

4

1 に答える 1

3

onResumeでセンサーを起動していると仮定します。

/**
 * start sensors
 */
public void onResume() {
    mSensorManager.registerListener(mListener, mSensorAcceleration, SensorManager.SENSOR_DELAY_GAME);
    mSensorManager.registerListener(mListener, mSensorMagnetic, SensorManager.SENSOR_DELAY_GAME);
    Handler h = new Handler();
    h.postDelayed(new Runnable() {

        @Override
        public void run() {
        //    do stuff with sensor values
            mSensorManager.unregisterListener(mListener);               
        }
    }, 5000);
...
于 2012-04-12T07:37:30.763 に答える