Suivez les étapes mentionnées ci-dessous
1) Créez un LocationRequestselon votre souhait
LocationRequest mLocationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(10 * 1000)
.setFastestInterval(1 * 1000);
2) Créez unLocationSettingsRequest.Builder
LocationSettingsRequest.Builder settingsBuilder = new LocationSettingsRequest.Builder()
.addLocationRequest(mLocationRequest);
settingsBuilder.setAlwaysShow(true);
3) Utilisez le LocationSettingsResponse Taskcode suivant
Task<LocationSettingsResponse> result = LocationServices.getSettingsClient(this)
.checkLocationSettings(settingsBuilder.build());
Remarque: LocationServices.SettingsApi est obsolète donc, utilisez SettingsClientplutôt.
4) Ajoutez un OnCompleteListenerpour obtenir le résultat de la tâche. Une fois la tâche Taskterminée, le client peut vérifier les paramètres d'emplacement en regardant le code d'état de l' LocationSettingsResponseobjet.
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;
}
}
}
});
CAS 1:: L' LocationSettingsStatusCodes.RESOLUTION_REQUIRED emplacement n'est pas activé mais, nous pouvons demander à l'utilisateur d'activer l'emplacement en lui demandant d'activer l'emplacement avec la boîte de dialogue (en appelant startResolutionForResult).

CAS 2:: LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE Les paramètres de localisation ne sont pas satisfaits. Cependant, nous n'avons aucun moyen de corriger les paramètres, nous n'afficherons donc pas la boîte de dialogue.
5) OnActivityResult nous pouvons obtenir l'action de l'utilisateur dans la boîte de dialogue des paramètres d'emplacement. RESULT_OK=> L'utilisateur a activé l'emplacement. RESULT_CANCELLED- L'utilisateur a refusé la demande de réglage de l'emplacement.