Виконайте вказані нижче дії
1) Створіть відповідно LocationRequestдо свого бажання
LocationRequest mLocationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(10 * 1000)
.setFastestInterval(1 * 1000);
2) СтворітьLocationSettingsRequest.Builder
LocationSettingsRequest.Builder settingsBuilder = new LocationSettingsRequest.Builder()
.addLocationRequest(mLocationRequest);
settingsBuilder.setAlwaysShow(true);
3) Отримайте LocationSettingsResponse Taskнаступний код
Task<LocationSettingsResponse> result = LocationServices.getSettingsClient(this)
.checkLocationSettings(settingsBuilder.build());
Примітка: LocationServices.SettingsApi застаріло, використовуйте SettingsClientЗамість цього.
4) Додайте а, OnCompleteListenerщоб отримати результат від Завдання. Коли це Taskзавершиться, клієнт може перевірити настройки місця розташування, переглянувши код стану від LocationSettingsResponseоб’єкта.
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;
}
}
}
});
СЛУЧАЙ 1: LocationSettingsStatusCodes.RESOLUTION_REQUIRED Місцезнаходження не ввімкнено, але ми можемо попросити користувача включити місцезнаходження, запропонувавши йому увімкнути місце розташування за допомогою діалогового вікна (зателефонувавши startResolutionForResult).

СЛУЧАЙ 2:: LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE Налаштування місцеположення не виконані. Однак у нас немає способу виправити налаштування, тому ми не будемо показувати діалогове вікно.
5) OnActivityResult ми можемо отримати дії користувача в діалоговому вікні налаштувань місцезнаходження. RESULT_OK=> Користувач увімкнув Місцеположення. RESULT_CANCELLED- Користувач відхилив запит налаштування місця.