My code is:
if (mGoogleApiClient == null && checkGooglePlayService()) {
Log.d(Utils.TAG_DEV + TAG, "Building GoogleApiClient");
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
mLocationRequest.setInterval(UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setFastestInterval(FASTEST_UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
LocationSettingsRequest.Builder builder = new LocationSettingsRequest.Builder();
builder.addLocationRequest(mLocationRequest);
builder.setAlwaysShow(true);
mLocationSettingsRequest = builder.build();
PendingResult<LocationSettingsResult> result =
LocationServices.SettingsApi.checkLocationSettings(
mGoogleApiClient,
mLocationSettingsRequest
);
result.setResultCallback(this);
}
but unfortunately the LocationServices.SettingsApi is deprecated. How can I replace deprecated code with the new one?
I found reading docs that the solution can be to use SettingsClient but couldn't figure how to do it.
Any ideea what to do to can update my code?
Yes,
LocationServices.SettingsApi
is deprecatedYou need to use GoogleApi-based API SettingsClient
FROM DOCS
The main entry point for interacting with the location settings-enabler APIs.
This API makes it easy for an app to ensure that the device's system settings are properly configured for the app's location needs.
When making a request to location services, the device's system settings may be in a state that prevents an app from obtaining the location data that it needs. For example, GPS or Wi-Fi scanning may be switched off. This intent makes it easy to:
Determine if the relevant system settings are enabled on the device to carry out the desired location request.
Optionally, invoke a dialog that allows the user to enable the necessary location settings with a single tap.
Follow this steps
I use this code after deprecation of
LocationServices.SettingsApi
anFusedLocationApi
This code provides :
1) Request last location
2) Location update periodically with
FusedLocationProviderClient
All codes in your Activity