Android checkLocationНастройка документации FusedLocationProvider - PullRequest
0 голосов
/ 03 апреля 2020

В документации Android здесь: https://developer.android.com/training/location/change-location-settings Я не понимаю, как предложить пользователю проверить настройки устройства или сделать что-либо с OnSuccess ().

Пример кода:

task.addOnSuccessListener(this, new OnSuccessListener<LocationSettingsResponse>() {
    @Override
    public void onSuccess(LocationSettingsResponse locationSettingsResponse) {
        // All location settings are satisfied. The client can initialize
        // location requests here.
        // ...
    }
});

task.addOnFailureListener(this, new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception e) {
        if (e instanceof ResolvableApiException) {
            // Location settings are not satisfied, but this can be fixed
            // by showing the user a dialog.
            try {
                // Show the dialog by calling startResolutionForResult(),
                // and check the result in onActivityResult().
                ResolvableApiException resolvable = (ResolvableApiException) e;
                resolvable.startResolutionForResult(MainActivity.this,
                        REQUEST_CHECK_SETTINGS);
            } catch (IntentSender.SendIntentException sendEx) {
                // Ignore the error.
            }
        }
    }
});

Вопрос 1: в приведенном выше событии onSuccess () я должен был вызвать

FusedLocationProviderClient.requestLocationUpdates(locationRequest, locationCallback, Looper.getMainLooper());

Вопрос 2: в onFailure () В случае, если я пытаюсь использовать этот код как есть, я получаю сообщение об ошибке / неизвестно в REQUEST_CHECK_SETTINGS. Я искал документацию и не могу найти то, что должно быть установлено. Я уверен, что это что-то простое, но я не могу туда добраться.

Когда я устанавливаю на свой Galaxy S9, у него нет проблем, и срабатывает onSuccess (). После этого я просто вызываю requestLocationUpdates (...).

Но на моем AVD срабатывает onFailure (), и я не знаю, какие настройки нужно изменить или где это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...