android #permissions
#Android #разрешения
Вопрос:
Из документа shouldShowRequestPermissionRationale указывает, следует ли показывать пользовательский интерфейс с обоснованием разрешений.
Я нашел:
- если изменить одно разрешение на «Уведомлять» и перед первым отображением диалогового окна запроса разрешений, shouldShowRequestPermissionRationale вернет false
- если запретить разрешение с установленным флажком «Никогда не спрашивать снова», shouldShowRequestPermissionRationale вернет false
Затем я столкнулся с проблемой, как отличить эти два случая? Я имею в виду, в следующем фрагменте кода от разработчика Android:
if (ContextCompat.checkSelfPermission(
CONTEXT, Manifest.permission.REQUESTED_PERMISSION) ==
PackageManager.PERMISSION_GRANTED) {
// You can use the API that requires the permission.
performAction(...);
} else if (shouldShowRequestPermissionRationale(...)) {
// In an educational UI, explain to the user why your app requires this
// permission for a specific feature to behave as expected. In this UI,
// include a "cancel" or "no thanks" button that allows the user to
// continue using your app without granting the permission.
showInContextUI(...);
} else {
// You can directly ask for the permission.
requestPermissions(CONTEXT,
new String[] { Manifest.permission.REQUESTED_PERMISSION },
REQUEST_CODE);
}
В случае 2, хотя в разрешении отказано с помощью «Никогда не спрашивать снова», код по-прежнему вызывает requestPermissions?