質問: (int)event.values[0]; //歩行を検知したときの処理 } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) {} } ```
回答: アプリがDozeモードに入ることによって、カウントがされなくなっていると思われます。 Dozeモードは簡単に説明すると、電池の消費を抑えるために端末を使用していない場合は、ほぼ全ての処理を止めて節電モードに入る機能です。 DozeモードはAndroid 6.0から導入されました。 Android 6.0の時は端末を持って歩いている(端末が静止状態じゃない)場合はDozeモードに入らなかったのですが、Android 7.0からは静止状態でなくてもDozeモードに入るようになりました。 Dozeモード中もアプリを動作し続ける方法は公式のドキュメントにも記載されているので確認してください。 Qittaに投稿されている Android M/NのDozeによる制限とバックグラウンドタスク実行に関するまとめ が非常によくまとまっているので、参考にしてみてください。 対策としては、ホワイトリストへの登録が良いかと思います。