在上一篇博客(http://blog.csdn.net/redoq/article/details/52515123)中,我们对传感器已经有所了解,这篇我们将重点讲位置传感器的组成及使用方法。
Android设备提供了两个传感器用于确定设备的位置,这两个传感器是磁场传感器和方向传感器。Android设备还提供了测量设备正面到某一个邻近物体距离的传感器(邻近传感器)。磁场传感器和邻近传感器是基于硬件的传感器。方向传感器是基于软件的,该传感器的回传数据来自加速传感器和磁场传感器。
位置传感器对于确定设备在真实世界中的物理位置非常有用。例如,可以组合磁场传感器和加速传感器测量设备相对于地磁北极的位置,还可以利用方向传感器确定当前设备相对于自身参照系的位置。
磁场传感器和方向传感器都返回3个值(SensorEvent.values),而邻近传感器只返回1个值。
方向传感器说明
SensorEvent.values[0]:绕着Z轴旋转的角度。如果Y轴(正常拿手机的方向)对着北方,该值是0,如果Y轴指向南方,该值是180,Y轴指向东方,该值是90,如果Y轴指向西方,该值是270。
SensorEvent.values[1]:绕着X轴(手机竖屏时从左向右的方向为X轴正方向)旋转的度数。当Z轴正方向朝向Y轴正方向,该值为正值。反之为负值。该值在180至-180之间变动
- SensorEvent.values[2]:绕着Y轴旋转的度数。当Z轴正方向朝向X轴正方向,该值为正值。