Location and Sensors APIs
在设备上使用感应器可以为应用添加位置以及其他动态功能。从GPS到网络位置,加速器,回转仪,温度计,气压计等。
Location and Maps
Note:本篇是关于android.location包中的Android framework location API的导论。Google Play Services部分的Google Location Services API提供了更强大和更高level的framework可以自动完成一些任务,例如location provider choice和power management。Location Services还提供了一些特征功能,例如activity detection,这个功能在framework API中没有提供。使用framework API和现在增加使用location-awareness的开发者应首先考虑使用Location Services API。和它相关的内容,参考Google Location Services for Android.
基于Location和Maps的应用程序为移动设备提供了丰富的使用案例。我们可以使用android.location包中的类和Google Maps Android API来添加这些功能。以下部分介绍了如何添加这些功能。
Location Services
Android通过andorid.location包中提供的类支持应用程序使用location services。location框架层最中心的组件是LocationManager系统服务,它提供了决定位置和承载底层设备的API。
与其它系统服务一样,我们不需要直接初始化一个LocationManager。而是调用getSystemService(Context.LOCATION_SERVICE)从系统初始化实例。这个方法返回一个LocationManager实例句柄。
有了LocationManager实例,应用程序可做以下三件事:
- 查询所有LocationProviders列表获取最后已知的用户位置信息。
- 注册或取消注册某个location provider提供的用户当前位置信息(由criteria或name指定)的更新。
- Register/unregister for a given Intent to be fired if the device comes within a given proximity(specified by radius in meters) of a given lat/long。