最近要用到android上下文数据做一些东西,上下文数据当然需要从android丰富的传感器来获得,在此之前先了解android可用的传感器都有哪些,以及他们的功能是什么?
1. 加速度传感器(Accelerometer) 感知手机当前的加速度,可以实现微信摇一摇类似的功能(摇一摇使手机瞬时加速度发生变化),另外通过测量由于重力引起的加速度,你可以计算出设备相对于水平面的倾斜角度。
下图是加速度传感器数据坐标的示意图。X Y Z分别对应values[0]到[2]。X表示左右移动的加速度,Y表示前后移动的加速度,Z表示垂直方向的加速度. 例如,水平放在桌面上的手机从左侧向右侧移动,values[0]为负值;从右向左移动,values[0]为正值。
2. 重力感应器 与加速度传感器使用同一套坐标系。values数组中三个元素分别表示了X、Y、Z轴的重力大小。
其实重力感应器是手机早就集成的传感器,传统重力感应器它仅能识别水平方向和垂直方向的移动。现有的手机集成的重力感应器也就等同于加速度感应器(查了一下资料没有明确的功能区分,姑且这样认为)。屏幕会随着手机位置的不同而改变方向的功能就是通过这个实现的。
3. Gyroscope 陀螺仪 定义是一种用于测量角度以及维持方向的设备。中间黄色的转子是“陀螺”,周边三个“钢圈”则会因为设备改变姿态而跟着改变,通过这样来检测设备当前的状态。看定义不知道它与加速度传感器有什么不同,下面我们来看看他们到底有什么区别:加速度感应器用来感应加速度的