Разрешение доступа к хранилищу не отображается в информации приложения - PullRequest
0 голосов
/ 03 июля 2018

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

Мой вопрос не о том, как я спрашиваю разрешения на зефир. Я уже определил разрешения времени выполнения в моем коде. Также все необходимые разрешения на использование в файле манифеста также. Но, тем не менее, я не получаю разрешение на хранение в информации приложения настроек Android.

Ответы [ 2 ]

0 голосов
/ 12 июля 2018

Я не знаю, в чем проблема, но я решил свою проблему, поставив метку разрешения в самом классе android manifest.

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace"/>
0 голосов
/ 03 июля 2018

Вот мой кусок кода, как я проверяю, разрешение уже разрешено или нет.

Когда пользователь нажимает на камеру или память, вызывайте эту функцию:

    //>=Marshmallow(23) needs app to request run-time permissions to use some features.
            if (Build.VERSION.SDK_INT >= 23) {
                if (checkPermission()) {
                    //permission to use Camera is already granted, now pick image
open camera or file picker    
                } else {
                    //App can still ask user for permission.
                    requestPermission();
                }
            }

функция checkPermission:

private boolean checkPermission() {
        int result = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
        return result == PackageManager.PERMISSION_GRANTED;
    }

Вот функция requestPermission:

private void requestPermission() {
        ActivityCompat.requestPermissions(this,
                new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE},
                PERMISSION_REQUEST_CODE);
    }

Файл манифеста:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Редактировать: Также, чтобы ответить на ваш вопрос, таким образом я могу видеть разрешение на хранение в настройках разрешений приложения.

...