Befolgen Sie die unten genannten Schritte
1) Erstellen Sie eine LocationRequestnach Ihren Wünschen
LocationRequest mLocationRequest = LocationRequest.create()
.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
.setInterval(10 * 1000)
.setFastestInterval(1 * 1000);
2) Erstellen Sie eineLocationSettingsRequest.Builder
LocationSettingsRequest.Builder settingsBuilder = new LocationSettingsRequest.Builder()
.addLocationRequest(mLocationRequest);
settingsBuilder.setAlwaysShow(true);
3) Erhalten Sie LocationSettingsResponse Taskfolgenden Code
Task<LocationSettingsResponse> result = LocationServices.getSettingsClient(this)
.checkLocationSettings(settingsBuilder.build());
Hinweis: LocationServices.SettingsApi ist veraltet, verwenden Sie SettingsClientstattdessen.
4) Fügen Sie a hinzu OnCompleteListener, um das Ergebnis aus der Aufgabe zu erhalten. Wenn der Vorgang Taskabgeschlossen ist, kann der Client die Standorteinstellungen überprüfen, indem er den Statuscode des LocationSettingsResponseObjekts überprüft .
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;
}
}
}
});
FALL 1 :: LocationSettingsStatusCodes.RESOLUTION_REQUIRED Standort ist nicht aktiviert, aber wir können den Benutzer bitten, den Standort zu aktivieren, indem er ihn auffordert, den Standort mit dem Dialogfeld einzuschalten (durch Aufrufen startResolutionForResult).

FALL 2 :: Die LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE Standorteinstellungen sind nicht erfüllt. Wir haben jedoch keine Möglichkeit, die Einstellungen zu korrigieren, sodass der Dialog nicht angezeigt wird.
5) OnActivityResult Wir können die Benutzeraktion im Dialogfeld "Standorteinstellungen" abrufen. RESULT_OK=> Benutzer hat den Standort aktiviert. RESULT_CANCELLED- Der Benutzer lehnte die Anforderung der Standorteinstellung ab.