Почему shouldShowRequestPermissionRationale не работает?

как можно использовать shouldShowRequestPermissionRationale до разрешения вызова и использования в Activity.

потому что до ActivityCompat.requestPermissions это возвращает false

if (ActivityCompat.shouldShowRequestPermissionRationale(context,permission)){
    // true
}else{
    // false (always false)
}

используйте это для разрешения запроса его потрясающий stackoverflow.com/a/49201404/9130109

EL TEGANI MOHAMED HAMAD GABIR 22.12.2018 13:44
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
505
1

Ответы 1

Метод shouldShowRequestPermissionRationale возвращает истину, если требуется объяснить пользователю, почему требуется разрешение. При первом запросе разрешения этот метод возвращает ложный.

Но если пользователь отказывает в разрешении один раз, когда разрешение запрашивается в другой раз, этот метод возвращает истинный, потому что может быть хорошей идеей объяснить пользователю, почему это разрешение требуется для приложения.

Когда разрешение уже предоставлено, этот метод вернет ложный.

Поэтому хорошей практикой было бы сначала проверить, что возвращает этот метод, и, если это требуется, объяснить пользователю, объяснить это с помощью диалогового окна или чего-то еще, а затем запросить разрешение, в противном случае запросить разрешение напрямую.

Вы также можете взглянуть на мой библиотека, который упрощает весь этот процесс и другие процессы в отношении разрешений времени выполнения.

Другие вопросы по теме