Androidでサービスを作成して、その中で歩数計センサー(TYPE_STEP_DETECTOR)を使用して歩数をカウントしています。
アプリを起動しているときは問題なくカウントされるのですが、スリープ状態(画面が真っ暗の状態)のときにカウントが極端に少ない場合がありました。
スリープ状態だと必ずカウントが少ないというわけではないのですが、再現パターンがいまいちわかりません。

カウントがされない原因がわからないのですが、スリープ状態だと歩数計センサーが作動しなくなるとかあるのでしょうか?

アドバイスをよろしくお願い致します。

public final class PedometerService extends Service implements SensorEventListener {

  private SensorManager mSensorManager;
  private Sensor mSensor;
  private HandlerThread mSensorThread;

  @Override
  public void onCreate() {
    mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
    mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);
    mSensorThread = new HandlerThread("PedometerServiceThread");
    mSensorThread.start();
    mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_FASTEST,
                                    new Handler(mSensorThread.getLooper()));
  }

  @Override
  public void onDestroy() {
    mSensorThread.getLooper().quit();
    mSensorManager.unregisterListener(this);
  }

  @Override
  public int onStartCommand(Intent intent, int flags, int startId) {
    return START_STICKY;
  }

  @Override
  public IBinder onBind(Intent intent) {
    return null;
  }

  @Override
  public void onSensorChanged(SensorEvent event) {
    int value = (int)event.values[0];

    //歩行を検知したときの処理

  }

  @Override
  public void onAccuracyChanged(Sensor sensor, int accuracy) {}

}