通过在类中实现SensorEventListener侦听器并覆盖onSensorChanged和onAccuracyChanged这两个方法,您可以开始跟踪步骤。
public class StepActivity extends Activity implements SensorEventListener{
SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor sSensor= sensorManager .getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);
...
}
现在我们已经初始化了 SensorManager 和 Sensor 并将 Sensor 注册为活动中的侦听器,我们现在需要实现onSensorChanged函数,只要我们注册的 Sensor 发生更改,该函数就会由SensorEvent触发,在我们的例子中是TYPE_STEP_DETECTOR。
private long steps = 0;
@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++;
}
}