准备工作:
实现SensorEventListener接口(需复写onSensorChanged、onAccuracyChanged方法);创建相应的textview ; 初始化一个SensorManager对象来获取系统的传感器服务。
了解手机的传感器的三维坐标:
x轴水平向右,y轴垂直向上,z轴正向指向屏幕正上。
传感器实现方法:
1.加速度传感器
首先在onCreate方法中注册加速度传感器监听器
再在onSensorChanged方法中监听这个传感器值的变化并更新textview的值。
2.近距离传感器
同样先在onCreate方法中注册近距离传感器监听器,再在onSensorChanged方法中监听这个传感器值的变化并更新textview的值。
3.方向传感器
方向传感器用于感应手机的摆放位置,它给我们返回了三个角度,这三个角度可以确定手机的摆放状态。
4.陀螺仪传感器
陀螺仪传感器用于感应手机的旋转速度。陀螺仪传感器给我们返回了当前设备的X、Y、Z三个坐标轴(坐标系统与加速度传感器一模一样)的旋转速度。旋转速度的单位是弧度/秒,旋转速度为:
正值代表逆时针旋转,负值代表顺时针旋转。关于返回的三个角速度说明如下:
第一个值:代表该设备绕X轴旋转的角速度。
第二个值:代表该设备绕Y轴旋转的角速度。
第三个值:代表该设备绕Z轴旋转的角速度。
5.线性加速度传感器
线性加速度传感器返回一个三维向量显示设备在各个方向的加速度(不包含重力加速度)。线性加速度传感器的坐标系统和加速度传感器的坐标系统相同。
线性加速度传感器、重力传感器、加速度传感器,这三者输出值的关系如下:
加速度传感器 = 重力传感器 + 线性加速度传感器。
6.光传感器
光传感器用于获取设备周围光的强度。光传感器会返回一个数据,代表手机周围光的强度,单位是勒克斯。
7.压强传感器
压强传感器用于获取设备周围压力的大小。压力传感器会返回一个数据,代表设备周围压力的大小。
8.计步传感器
有两个接口,一个Counter统计的是总步数,而DETECTOR为该计步是否有效,有效的话就置1
9.磁场传感器
磁场感应器主要读取设备周围的磁场强度。即便是设备周围没有任何直接的磁场,设备也会始终处于地球的磁场中,除非你不在地球。。随着手机设备摆放状态的改变,周围磁场在手机的X、Y、Z方向上的影响也会发生改变。磁场传感器会返回三个数据,分别代表周围磁场分解到X、Y、Z三个方向的磁场分量,磁场数据的单位是微特斯拉。
10.重力传感器
重力传感器会返回一个三维向量,这个三维向量可显示重力的方向和强度。重力传感器的坐标系统和加速度传感器的坐标系统相同。
11.温度传感器
温度传感器用于获取设备所处环境的温度。温度传感器会返回一个数据,代表手机设备周围的温度,单位是摄氏度。
最终效果(有些传感器手机没有):
原文:https://www.cnblogs.com/wjjwyf/p/11336640.html