Путь к изображению говорит, что не может читать даже с предоставленными разрешениями (Android Studio) java - PullRequest
1 голос
/ 18 февраля 2020

Я новичок в Android и пытаюсь получить Uri изображения, которое пользователь выбирает в папке загрузок. В настоящее время я могу открыть папку загрузок и выбрать изображение. Однако, когда я беру путь выбранного изображения, file.canRead () возвращает false.

Это разрешения, которые я предоставил для приложения

    int permission = ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
    int permission2 = ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE);
    if (permission != PackageManager.PERMISSION_GRANTED && permission2 != PackageManager.PERMISSION_GRANTED ) {
            ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.READ_EXTERNAL_STORAGE}, 1);
            ActivityCompat.requestPermissions(this, new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
    }

Здесь я я беру изображение, которое я выбрал из папки загрузки, а затем передал путь к новому файлу:

        selectedImage = imageReturnedIntent.getData();
        String path = getRealPathFromURI(getApplicationContext(), selectedImage);
        File selPath = new File(path);


        Boolean b5 = selPath.isFile();
        Boolean b1 = selPath.canRead();
        Boolean b2 = selPath.exists();

isFile () возвращает true

exist () возвращает true

canRead () возвращает false, и я не знаю почему, потому что я дал разрешения.

...