上接 《Android传感器编程入门(一)》

4、连接真机Milestone,编译并运行程序,显示结果如下:

5、结合上面的程序我们做一些解释。

  1. Android所有的传感器都归传感器管理器 SensorManager 管理,获取传感器管理器的方法很简单:

     

    String service_name = Context.SENSOR_SERVICE;

    SensorManager sensorManager = (SensorManager)getSystemService(service_name);

  2. 现阶段Android支持的传感器有8种,它们分别是:
    传感器类型常量 内部整数值 中文名称
    Sensor.TYPE_ACCELEROMETER 1 加速度传感器
    Sensor.TYPE_MAGNETIC_FIELD 2 磁力传感器
    Sensor.TYPE_ORIENTATION 3 方向传感器
    Sensor.TYPE_GYROSCOPE 4 陀螺仪传感器
    Sensor.TYPE_LIGHT 5 环境光照传感器
    Sensor.TYPE_PRESSURE 6 压力传感器
    Sensor.TYPE_TEMPERATURE 7 温度传感器
    Sensor.TYPE_PROXIMITY 8 距离传感器

     

  3. 从传感器管理器中获取其中某个或者某些传感器的方法有如下三种:

    第一种:获取某种传感器的默认传感器

    Sensor defaultGyroscope = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);

    第二种:获取某种传感器的列表

    List pressureSensors = sensorManager.getSensorList(Sensor.TYPE_PRESSURE);

    第三种:获取所有传感器的列表,我们这个例子就用的第三种

    List allSensors = sensorManager.getSensorList(Sensor.TYPE_ALL);

     

  4. 对于某一个传感器,它的一些具体信息的获取方法可以见下表:
    方法 描述
    getMaximumRange() 最大取值范围
    getName() 设备名称
    getPower() 功率
    getResolution() 精度
    getType() 传感器类型
    getVentor() 设备供应商
    getVersion() 设备版本号