Мне нужно посчитать шаги пользователя, используя этот код, и он отлично работает
SensorManager sManager;
Sensor stepSensor;
sManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
stepSensor = sManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);
sManager.registerListener(this, stepSensor, SensorManager.SENSOR_DELAY_FASTEST);
@Override
public void onSensorChanged(SensorEvent event) {
Sensor sensor = event.sensor;
float[] values = event.values;
int value = -1;
if (values.length > 0) {
value = (int) values[0];
}
if (sensor.getType() == Sensor.TYPE_STEP_DETECTOR) {
steps++; }
}
}
}
, но в некоторых устройствах
stepSensor = sManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);
возвращает ноль, я искал об этом и обнаружил, чтоэто устройство может не иметь шагомер
, так как я могу обнаружить шаги в этом случае?