手机中陀螺仪芯片选型(专题陀螺仪传感器)

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

String service_name = Context.SENSOR_SERVICE;

SensorManager sensorManager =(SensorManager)getSystemService(service_name);

现阶段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距离传感器

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

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

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

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

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

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

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

对于某一个传感器,它的一些具体信息的获取方法可以见下表:

方法 描述

getMaximumRange 最大取值范围

getName 设备名称

getPower 功率

getResolution 精度

getType 传感器类型

getVentor 设备供应商

getVersion 设备版本号

例子:加速度传感器获取晃动信息来控制录音

// 获取传感器管理器

SensorManager sm =(SensorManager) getSystemService(Context.SENSOR_SERVICE);

// 获取加速度传感器

Sensor acceleromererSensor =sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

// 定义传感器事件监听器

SensorEventListeneracceleromererListener = new SensorEventListener {

@Override

public voidonAccuracyChanged(Sensor sensor, int accuracy) {

//响应传感器精确度变化

}

//传感器数据变动事件

@Override

public voidonSensorChanged(SensorEvent event) {

}

};

//在传感器管理器中注册监听器

sm.registerListener(acceleromererListener, acceleromererSensor,SensorManager.SENSOR_DELAY_NORMAL);

手机中陀螺仪芯片选型(专题陀螺仪传感器)(1)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页