如果希望应用可以持续获取设备位置,可以使用定位服务提供的`[requestLocationUpdates](

)()`接口。该接口根据入参形式的不同,将以两种不同的形式将位置信息返回。一种是通过调用已经定义的`[LocationCallback](

)`类中`[onLocationResult](

)()`回调方法返回一个包含位置信息的`[LocationResult](

)`对象,另一种是将位置信息置于PendingIntent扩展信息中返回。

当应用程序不再需要接收位置更新时,应当停止位置更新,以便于降低功耗。要停止位置更新,可以调用`[removeLocationUpdates](

)()`,传入与`[requestLocationUpdates](

)()`接口相对应的`[LocationCallback](

)`或PendingIntent对象。这里以回调方式作为样例,代码如下。详细的参数说明请参见`[LocationService](

)`接口说明。

1.设置持续定位请求参数。

LocationRequest 
mLocationRequest
= new LocationRequest();
// 设置位置更新的间隔(单位为毫秒)
mLocationRequest
.setInterval(10000
);
// 设置定位类型
mLocationRequest
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY); 

2. 定义位置更新回调。

LocationCallback 
mLocationCallback
;        
mLocationCallback
= new LocationCallback() {        
   @Override
   public void onLocationResult(LocationResult 
locationResult
) {        
       if (
locationResult
!= null) {        
           // 处理位置回调结果        
       }        
   }        
}; 

3. 调用[requestLocationUpdates](

)()进行持续定位。

fusedLocationProviderClient        
    .requestLocationUpdates(mLocationRequest, mLocationCallback, Looper.getMainLooper())        
    .addOnSuccessListener(new OnSuccessListener<Void>() {        
        @Override        
        public void onSuccess(Void aVoid) {        
            // 接口调用成功的处理        
        }        
    })
    .addOnFailureListener(new OnFailureListener() {        
        @Override        
        public void onFailure(Exception e) {        
           // 接口调用失败的处理        
        }        
    }); 

4. 调用[removeLocationUpdates](

)()停止位置更新。


// 注意:停止位置更新时,mLocationCallback必须与requestLocationUpdates方法中的LocationCallback参数为同一对象。
fusedLocationProviderClient.removeLocationUpdates(mLocationCallback)        
    // 停止位置更新成功监听回调
    .addOnSuccessListener(new OnSuccessListener<Void>() {        
        @Override        

### 新的开始

改变人生,没有什么捷径可言,这条路需要自己亲自去走一走,只有深入思考,不断反思总结,保持学习的热情,一步一步构建自己完整的知识体系,才是最终的制胜之道,也是程序员应该承担的使命。

**[CodeChina开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》](https://ali1024.coding.net/public/P7/Android/git)**

**《系列学习视频》**
![](https://s2.51cto.com/images/20210918/1631910946266966.jpg)

**《系列学习文档》**

![](https://s2.51cto.com/images/20210918/1631910946750298.jpg)

**《我的大厂面试之旅》**

![](https://s2.51cto.com/images/20210918/1631910946981456.jpg)