Android中各种Manager类的使用(二):SensorManager的使用

SensorManager是一个传感器管理类,获取的方式如下

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

若是在Activity中,官方文档中是在Activity的onResume()方法中进行SensorEventListener的注册,在onPause()方法中进行注销。注册方法为:

SensorManager.registerListener(SensorEventListener listener, Sensor sensor, int rate);

参数:

    listener:SensorEventListener的实例,是传感器变化的监听器。

    sensor: 传感器类型,通常用SensorManager.getDefaultSensor(int sensorType)来获取,sensorType的参数在Sensor类下,如下图:


rate:指定获取传感器数据的频率,值在SensorManager类下,有如下几个值:


要使Sensor工作,自然必须要对SensorEventListener监听器进行重写,必须重写的方法有两个:


onAccuracyChanged(Sensor sensor, int accuracy)为传感器在精度改变时调用的方法,可以调用sensor.getType()获取传感器类型,accuracy为传感器此时的精度。

onSensorChanged(SensorEvent event)为传感器状态改变时调用的方法,可以调用event.accuracy属性来获取传感器精度,返回值为int类型;调用event.sensor获取传感器实例,返回值为Sensor类型,event.sensor.getType()可以获取传感器类型;调用event.values返回传感器返回的数值,返回值类型为final float[],每个sensor的values取值不同,根据sensor类型不同选取。

各个传感器values取值详见:点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值