Ошибка открытия: ENOENT Android R

Ошибка открытия: ENOENT (нет такого файла или каталога)

Уже добавлены манифесты, поскольку Environment.getExternalStorageDirectory() устарела на Android R., если я изменю это на getExternalFilesDir(), путь будет идти в каталог приложения, а не в хранилище

android:requestLegacyExternalStorage="true" 

Android Q Ниже работает нормально, но Android R получил ошибку ENOENT

    protected Uri getImageFile()
    {

        String imagePathStr = IMAGE_FOLDER;
        File path = new File(imagePathStr);
        if (!path.exists()) {
            path.mkdirs();
        }
        String finalPhotoName = "IMG" +
                (withTimeStamp ? "_" + new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(new Date(System.currentTimeMillis())) :  "")
                + ".png";
        // long currentTimeMillis = System.currentTimeMillis();
        // String photoName = imageName + "_" + new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US).format(new Date(currentTimeMillis)) + ".jpg";
        File photo = new File(path, finalPhotoName);

        return Uri.fromFile(photo);
    }

1 ответ

Решение

Что такое строка IMAGE_FOLDER

попробуй использовать

getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
Другие вопросы по тегам