SensorManager常见常量

一、传感器类型:
Android中支持的几种传感器:
Sensor.TYPE_ACCELEROMETER:加速传感器
Sensor.TYPE_GYROSCOPE:陀螺仪传感器
Sensor.TYPE_LIGHT:亮度传感器
Sensor.TYPE_MAGNETIC_FIFLD:地磁传感器
Sensor.TYPE_ORIENTATION:方向传感器
Sensor.TYPE_PRESSURE:压力传感器

Sensor.TYPE_PROXIMITY:进程传感器

Sensor.TYPE_GRAVITY:重力传感器

Sensor.TYPE_PROXIMITY 距离传感器

二、使用传感器

1、获取传感器综合管理类(SensorManager)

SensorManager manager = (SensorManager)getSystemService(SENSOR_SERVICE);

2、获取传感器对象

Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

3、注册监听器

manger.registerListener(this, sensor, manager.SENSOR_DELAY_UI)

4、注销监听器

manager.unregisterListener(this, sensor);

  其中在注册和注销的时候的第一个参数是SensorEventListener,那么在activiyt中要实现SensorEventListener接口,所以可以在这里用this,第二个参数是得到的传感器,第三个是传感精度。

三、传感精度

SENSOR_DELAY_GAME:若开发游戏可以使用该值,适用于传感精度较高的情况

SENSOR_DELAY_NORMAL:标准延迟,默认值

SENSOR_DELAY_UI:若使用传感器更新UI,可以使用该值

SENSOR_DELAY_FASTEST最高精度

四、常用方法

1、一般在onResume()方法中注册监听器,在onPause()方法中注销监听

2、当发生传感变化时,调用onSensorChanged(SensorEvent event)方法,当传感精度变化时,调用onAccuracyChanged(Sensor arg0, int arg1)方法

五、event.value的常量

对于手机X,Y,Z轴的方向:

X轴:正常握住手机,从左自右;Y轴:正常握住手机,从屏幕底端自屏幕顶端;Z轴:从手机背面自手机正面

1、方向传感器(Sensor.TYPE_ORIENTATION)

values[0]:绕Z轴旋转角度,0~360(0为北,90为东,180为南,270为西)

values[1]:绕X轴旋转角度,-180<values[1]<180(平放为0,从头至垂直为0~-180,从底部至垂直为0~180)

values[2]:绕Y轴旋转角度,-90<values[2]<90(平放为0,从右至垂直为0~90,从左至垂直为0至-90)

2、加速传感器(Sensor.TYPE_ACCELEROMETER)

3个值分别代表X,Y,Z轴的加速度,水平放置手机,若从左至右移动,value[0]为负,从右至左移动,value[0]为正数

3、重力感应器(Sensor.TYPE_GRAVITY)

values数组中三个元素分别表示了XYZ轴的重力大小

4、陀螺仪传感器(Sensor.TYPE_GYROSCOPE)

values[0]:延X轴旋转的角速度。

values[1]:延Y轴旋转的角速度。
values[2]:延Z轴旋转的角速度。

逆时针旋转时为正,顺时针旋转时为负

其它的暂时不介绍了。。。。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值