Siga los pasos que se mencionan a continuación
1) Cree un LocationRequestsegún su deseo
LocationRequest mLocationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(10 * 1000)
.setFastestInterval(1 * 1000);
2) Crea unLocationSettingsRequest.Builder
LocationSettingsRequest.Builder settingsBuilder = new LocationSettingsRequest.Builder()
.addLocationRequest(mLocationRequest);
settingsBuilder.setAlwaysShow(true);
3) Obtener LocationSettingsResponse Taskel uso siguiente código
Task<LocationSettingsResponse> result = LocationServices.getSettingsClient(this)
.checkLocationSettings(settingsBuilder.build());
Nota: LocationServices.SettingsApi está en desuso, así que use en su SettingsClientlugar.
4) Agregue un OnCompleteListenerpara obtener el resultado de la tarea. Cuando se Taskcomplete, el cliente puede verificar la configuración de ubicación mirando el código de estado del LocationSettingsResponseobjeto.
result.addOnCompleteListener(new OnCompleteListener<LocationSettingsResponse>() {
@Override
public void onComplete(@NonNull Task<LocationSettingsResponse> task) {
try {
LocationSettingsResponse response =
task.getResult(ApiException.class);
} catch (ApiException ex) {
switch (ex.getStatusCode()) {
case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
try {
ResolvableApiException resolvableApiException =
(ResolvableApiException) ex;
resolvableApiException
.startResolutionForResult(MapsActivity.this,
LOCATION_SETTINGS_REQUEST);
} catch (IntentSender.SendIntentException e) {
}
break;
case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
break;
}
}
}
});
CASO 1: La LocationSettingsStatusCodes.RESOLUTION_REQUIRED ubicación no está habilitada, pero podemos pedirle al usuario que habilite la ubicación solicitándole que active la ubicación con el cuadro de diálogo (llamando startResolutionForResult).

CASO 2: LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE La configuración de ubicación no está satisfecha. Sin embargo, no tenemos forma de corregir la configuración, por lo que no mostraremos el cuadro de diálogo.
5) OnActivityResult podemos obtener la acción del usuario en el cuadro de diálogo de configuración de ubicación. RESULT_OK=> El usuario activó la ubicación. RESULT_CANCELLED- El usuario rechazó la solicitud de configuración de ubicación.