Убедитесь, что вы уже закрыли соединение с базой данных или нет. В моем случае я получал ошибку, потому что соединение было близко в верхней строке.
Реализация Google API Location Services
метод, который инициализирует и запустит Google API Client:
private void buildGoogleApiClient() {
mGoogleApiClient = new GoogleApiClient.Builder(getApplicationContext())
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
mGoogleApiClient.connect();
}
метод, который инициализирует и возвратит LocationRequest:
private LocationRequest getLocationRequest() {
mLocationRequest = new LocationRequest();
mLocationRequest.setInterval(Constants.GPS_UPDATE_TIME);
mLocationRequest.setSmallestDisplacement(Constants.SMALLEST_DISTANCE);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
}
метод, который попросит регулярное обновление информации о местоположении:
private void startGettingLocations() {
LocationServices.FusedLocationApi.requestLocationUpdates(mGoogleApiClient, mLocationRequest, this);
}
После выполнения вышеизложенных действий, как в случае LocationManager, мы готовы получить обновления информации о местоположении с помощью onLocationChanged(Location location)
метод.
LocationManager по сравнению с Google Play Services
источник здесь