Где проверить настройки местоположения - PullRequest
0 голосов
/ 03 октября 2019

У меня есть приложение, которое получает обновления местоположения от текущего местоположения пользователей. Поэтому необходимо проверить, включены ли настройки местоположения. Инструкции описаны здесь: https://developer.android.com/training/location/change-location-settings

Лучшее место для проверки настроек местоположения для меня - это метод действия onResume(), поскольку вполне возможно, что пользователь может изменять настройки во время работы приложения. в фоновом режиме.

Проблема с отображением диалогового окна onResume() заключается в том, что каждый раз, когда пользователь выбирает «отменить», диалоговое окно отображается снова, потому что «отмена» вызывает метод onResume () действия. Это вызывает бесконечный цикл. (https://github.com/permissions-dispatcher/PermissionsDispatcher/issues/90)

Так называется диалог. У меня нет никаких ссылок, чтобы отклонить диалог, например, в методе onActivityResult.

task.addOnFailureListener { exception ->
    if (exception is 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().
            exception.startResolutionForResult(this@MainActivity,
                    REQUEST_CHECK_SETTINGS)
        } catch (sendEx: IntentSender.SendIntentException) {
            // Ignore the error.
        }
    }
}

Любые другие идеиили решения о том, как проверять настройки местоположения каждый раз, когда приложение отображается?

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