本文译自:http://developer.android.com/guide/topics/sensors/sensors_position.html
Android平台提供了两种用于判断设备位置的传感器:地磁场传感器和方向传感器。Android平台还提供一种判断设备的面板是否接近一个对象的传感器(即距离传感器)。地磁场传感器和距离传感器是基于硬件的。大多数手持设备和平板电脑制造商都在其设备中包含了一个地磁场传感器。同样手持设备制造商也他们的设备中包含一个距离传感器,用于判断手持设备是否靠近人脸(如,在电话呼叫期间)。方向传感器是基于软件的,并且要从加速度传感器和地磁场传感器来获取数据。
注意:方向传感器在Android2.2(API Level 8)中被废弃。
对于判断设备在全球参照系中的物理位置,位置传感器是有益的。例如,使用地磁场传感器跟加速度传感器的组合来判断设备相对于磁场北极的位置。也能够使用方向传感器(或类似于基于传感器的方位方法)来判断设备在你的应用程序的参照系统中的位置。通常,位置传感器不用于监视设备的移动或手势,如振动、倾斜或推动(更多的信息,请看Motion Sensors)。
地磁场传感器和方向传感器用SensorEvent来返回传感器值的多维数组。例如,在一个单独的传感器事件期间,方向传感器的三个坐标中每一个都提供了地磁场的强度值。同样,方向传感器在一个传感器事件期间提供了方位角(旋角)、倾斜度和晃动值。关于传感器所使用的坐标系统的更多信息,请看“传感器器坐标系统”。距离传感器在每个传感器事件中提供一个单值。表1概要的介绍了Android平台所支持的位置传感器。
表1.Android平台所支持的位置传感器
传感器 | 传感器事件数据 | 描述 | 测量的单位 |
| X轴地磁场强度 | μT | |
| Y轴地磁场强度 | ||
| Z轴地磁场强度 | ||
| 方位角(围绕Z轴的角度) | 角度 | |
| 倾斜度(围绕X轴的角度) | ||
| 幅度(围绕Y轴的角度 | ||
| 与对象间的距离。2 | cm(厘米) |
1这种传感器在Android2.2(API Level 8)中被废弃。传感器框架提供获取设备方向的替代方法,在使用方向传感器一节会讨论替代的方法。
2某些距离传感器只提供接近和远离的二进制数据。