Android 计步器实现

  前段时间系统应用到计步器,在网上看了好多,借鉴大神的代码完成了效果,最后还是决定写下来吧,万一哪天在用到了 。。。。

1.需要在AndroidManifest.xml中添加权限








2.检测手机是否支持计歩

    /**
 * 判断该设备是否支持计歩
 * @param context
 * @return
 */
@TargetApi(Build.VERSION_CODES.KITKAT)
public static boolean isSupportStepCountSensor(Context context) {
    // 获取传感器管理器的实例
    SensorManager sensorManager = (SensorManager) context
            .getSystemService(context.SENSOR_SERVICE);
    Sensor countSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
    Sensor detectorSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_DETECTOR);
    return countSensor != null || detectorSensor != null;
}

3.功能使用

private boolean isBind = false;
private Messenger mGetReplyMessenger = new Messenger(new Handler(this));
private Messenger messenger;
/**
 * 开启计步服务
 */
private void setupService() {
    Intent intent = new Intent(this, StepService.class);
    isBind = bindService(intent, conn, Context.BIND_AUTO_CREATE);
    startService(intent);
}
/**
 * 从service服务中拿到步数
 *
 * @param msg
 * @return
 */
@Override
public boolean handleMessage(Message msg) {
    switch (msg.what) {
        case Constant.MSG_FROM_SERVER:
            cc.setCurrentCount(10000, msg.getData().getInt("step"));
            break;
    }
    return false;
}# 计步器(小米,魅族,华为)

#原文章地址 (借鉴大神文章自己可以实现代码)https://github.com/linglongxin24/DylanStepCount

你可能感兴趣的:(Android 计步器实现)