剖析Android增强功能的两种权限请求 |
本文标签:Android增强功能 为了完成Android增强功能这项任务,我们主要用到Android的LocationManager对象,在进行操作该项目之前,我们需要解决一些Android的其他问题,其中权限是我们首先要扫除的第一个障碍 。 Android增强功能的LocationManager支持两种权限请求: 1. 需要告知系统您希望取得用户的位置 。 您需要在AndroidManifest.xmlxml 文件 如您所见,这里声明了一个LocationManager对象,使用getSystemService获得您的对象,然后调用了requestLocationUpdates 。您可能想知道位置更新时需要哪些参数 。首先,您告诉系统,您想使用系统中GPS装置的位置更新功能 。然后 。 您告诉它您希望多长时间更新一次(本例时间间隔为100ms),并且每当移动一米以上时就更新 。这样,就能迅速识别他们的移动情况并调整它们与其他对象的位置关系 。最后,传入实现LocationListener接口的类的实例 。为位置更新传递请求后,LocationListener类将收到初始位置,继之以后来位置的改变情况 。下面是我们的LocationListener: 在上面的代码中,我们唯一需要关心的就是onLocationChanged这个方法 。然而,我们还会介绍这个对象的其它方法 。以便您将这个对象复制到您自己的代码中时能够了解它们 。 一旦卫星锁定了这个设备,方法onLocationChanged就会被调用,之后每经过在请求更新时指定的时间间隔(本例中为100ms)后,就会调用一次 。 每当位置更新时,Android增强功能都会带来一个Location对象 。我们通过这个类可以获得目标的经纬度,并完成许多重要事情 。这里我们最感兴趣的方法是getLatitude()、getLongitude()、bearingTo()与distanceTo() 。使用这四个函数,我们可以计算出任何随后的位置的方位角,并确定出离您的距离有多远 。 |