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

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

device

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

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

     

    String service_name = Context.SENSOR_SERVICE;

    SensorManager sensorManager = (SensorManager)getSystemService(service_name);

  2. 现阶段Android支持的传感器有8种,它们分别是:
    传感器类型常量内部整数值中文名称
    Sensor.TYPE_ACCELEROMETER1加速度传感器
    Sensor.TYPE_MAGNETIC_FIELD2磁力传感器
    Sensor.TYPE_ORIENTATION3方向传感器
    Sensor.TYPE_GYROSCOPE4陀螺仪传感器
    Sensor.TYPE_LIGHT5环境光照传感器
    Sensor.TYPE_PRESSURE6压力传感器
    Sensor.TYPE_TEMPERATURE7温度传感器
    Sensor.TYPE_PROXIMITY8距离传感器

     

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

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

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

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

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

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

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

     

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