I have a simple app that listens for steps. I use STEP COUNTER sensor for that purpose. But results are horrible. For example
sensorManager = (SensorManager) context.getSystemService(SENSOR_SERVICE);
stepCounter = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
sensorManager.registerListener(this, stepCounter, SensorManager.SENSOR_DELAY_UI,(int) TimeUnit.SECONDS.toMicros(10));
is detecting only 10 - 30 % of steps. And it doesn't depend on latency or batching. Results on Samsung S9 are even worse. I tried to use Activity context, hoping to improve results but it didn't help. Does someone have ideas?