1

最近、ユーザーに歩数をカウントするアプリを作成しようとしました。そして、Android 4.4 で導入された歩数と検出器に出会いました。しかし、時間単位で歩数をカウントする方法が見つかりません。私はこれに慣れていないので、どんなガイダンスも高く評価されます

私はこれで見つけましたhttps://developer.android.com/reference/android/hardware/SensorManager.html#registerListener(android.hardware.SensorEventListener , android.hardware.Sensor, int)

3 番目のパラメーターを編集すると、次の boolean registerListener (SensorEventListener listener、Sensor sensor、int samplingPeriodUs) を実行中に遅延を指定できます。

ただし、ミリ秒単位の値を受け入れ、1 時間をミリ秒に変換すると、非常に大きな int 値が得られます。誰でも対処方法を案内できますか

4

1 に答える 1

1

あなたが探しているのはSensor Batchingです。

これにより、デバイスを起動したままにしなくても、継続的なセンサー データを取得できます。基本的に、センサーイベントをチップ自体のハードウェアベースのキューに保存し、定義済みの間隔でバッチでアプリ (サービスなど) にのみ送信します。これにより、バッテリーを大幅に消耗させることなく、24 時間年中無休の監視を行うことができます。サポートされているチップセットのみがこれを実行できることに注意してください (詳細は Android ドキュメントで確認できます)。古い携帯電話の場合は、データを取得するためにひどいウェイクロック保持方法にフォールバックする必要があります。ソース

また、BatchStepSensor の使用方法の例もあります

于 2016-11-30T20:33:38.947 に答える