Ikuti langkah-langkah yang disebutkan di bawah ini
1) Buat LocationRequestsesuai keinginan Anda
LocationRequest mLocationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(10 * 1000)
.setFastestInterval(1 * 1000);
2) Buat aLocationSettingsRequest.Builder
LocationSettingsRequest.Builder settingsBuilder = new LocationSettingsRequest.Builder()
.addLocationRequest(mLocationRequest);
settingsBuilder.setAlwaysShow(true);
3) Dapatkan LocationSettingsResponse Taskmenggunakan kode berikut
Task<LocationSettingsResponse> result = LocationServices.getSettingsClient(this)
.checkLocationSettings(settingsBuilder.build());
Catatan: LocationServices.SettingsApi tidak digunakan lagi, jadi gunakan sebagai SettingsClientgantinya.
4) Tambahkan a OnCompleteListeneruntuk mendapatkan hasil dari Tugas. Setelah Taskselesai, klien dapat memeriksa pengaturan lokasi dengan melihat kode status dari LocationSettingsResponseobjek.
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;
}
}
}
});
KASUS 1:: LocationSettingsStatusCodes.RESOLUTION_REQUIRED Lokasi tidak diaktifkan tetapi, kita dapat meminta pengguna untuk mengaktifkan lokasi dengan meminta dia untuk mengaktifkan lokasi dengan dialog (dengan memanggil startResolutionForResult).

KASUS 2:: LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE Pengaturan lokasi tidak dipenuhi. Namun, kami tidak memiliki cara untuk memperbaiki pengaturan tersebut sehingga kami tidak akan menampilkan dialog.
5) OnActivityResult kita bisa mendapatkan tindakan pengguna di dialog pengaturan lokasi. RESULT_OK=> Pengguna menyalakan Lokasi. RESULT_CANCELLED- Pengguna menolak permintaan pengaturan lokasi.