Android系统特性文章合集Android开发经验谈Android技术知识

android开发中传感器的使用(以记步传感器为例)

2019-12-23  本文已影响0人  爱你为你做饭

Android设备通常包含一系列的传感器,系统也提供了一系列的对应api来检测这些传感器的数据用来处理逻辑开发,具体按照传感器的大的类型可以分为:运动传感器,位置传感器,环境传感器,下面按照这个类型简单的介绍其对应的具体传感器类型(传感器的类型太多,此处不会详细一一介绍,在后续的开发中会对针对的具体传感器进行解释说明):

  1. 传感器的使用
/**
     * 校验是否支持记步
     *
     * @return
     */
    public boolean isSupportStep() {
        if (application == null) {
            ToastAlone.showShort("StepSensorManager使用前需要提前初始化");
        }
        PackageManager packageManager = application.getPackageManager();
        return packageManager.hasSystemFeature(PackageManager.
FEATURE_SENSOR_STEP_COUNTER) || packageManager.hasSystemFeature(PackageManager.
FEATURE_SENSOR_STEP_DETECTOR);
    }
/**
     * 注册记步传感器
     */
    public void registerStepSensor() {
        if (sensorManager == null || stepSensor == null) {
            ToastAlone.showShort("注册前需要初始化传感器");
        }
        sensorManager.registerListener(this,stepSensor,
SensorManager.SENSOR_DELAY_NORMAL);
    }
@Override
    public void onSensorChanged(SensorEvent event) {
        if (event == null || event.values == null || event.values.length <= 0) {
            return;
        }
        int sensorType = event.sensor.getType();
        if (sensorType == Sensor.TYPE_STEP_COUNTER) {
            float stepNum = event.values[0];
        }
@Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {

    }
public void unRegisterStepSensor() {
        if (sensorManager == null || stepSensor == null) {
            return;
        }
        sensorManager.unregisterListener(this);
    }
  1. 记步传感器的逻辑开发


    计步器响应数据规则
  1. 传感器需要注意的点

参考文章:
官方文档:传感器
简单计步器的使用
计步器api的使用
超精准计步器的研发
系统21后提供了系统常驻服务job,还没有研究使用
Android闹钟定时任务AlarmManager的使用

上一篇下一篇

猜你喜欢

热点阅读