我正在开发一个基于位置的应用程序,它具有每 1 分钟更新用户当前位置的功能。
我正在使用下面的代码来请求位置更新:
private LocationRequest mLocationRequest;
private static LocationClient mLocationClient;
mLocationRequest = LocationRequest.create();
mLocationRequest.setInterval(60000);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setFastestInterval(60000);
mLocationClient = new LocationClient(this, this, this);
if (servicesConnected()) {
mLocationClient.connect();
}
servicesConnected() 是用户定义的方法,如果 Google Play 服务可用,则返回 true,否则返回 false,我的覆盖方法如下:
@Override
public void onConnected(Bundle connectionHint) {
try {
mLocationClient.requestLocationUpdates(mLocationRequest, this);
} catch (IllegalStateException e) {
// TODO: handle exception
}
}
@Override
public void onLocationChanged(Location location) {
// logic to store location data
}
但是当我的 GPS 开启时,我发现位置更新如下图所示:
请建议我应该怎么做才能克服不需要的位置更新。