почемуShowRequestPermissionRationale не должен работать? - PullRequest
0 голосов
/ 22 декабря 2018

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

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

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

1 Ответ

0 голосов
/ 22 декабря 2018

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

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

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

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

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

...