Я хочу получать данные с датчика сердечного ритма каждые x секунд. Я попробовал это с postDelayed(), но это работает только для чтения данных каждые x секунд, но датчик работает в это время, и батарея разряжается очень быстро. Я пытаюсь найти способ запустить датчик, получить данные и остановить датчик каждые x секунд.
Вот что я сделал до сих пор:
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
checkHR = true;
handler.postDelayed(this, 10000);
}
}, 1);
public void onSensorChanged(SensorEvent event) {
if(checkHR == true){
if (event.sensor.getType() == Sensor.TYPE_HEART_RATE) {
String msg = "" + (int)event.values[0];
heartRate = (int)event.values[0];
Log.d("Heart rate is:", msg);
checkHR = false;
}
}