открыть не удалось: ENOENT Android R

#java #android #uri #ucrop

#java #Android #uri #ucrop

Вопрос:

ошибка открытия: 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)