Я работаю над приложением для редактирования фотографий, в котором после редактирования изображения я сохраняю его в моем локальном хранилище. Он работает нормально до android 9, но не на android 10. Он показывает исключение «Такой файл или каталог не найден» в Android 10. После некоторых исследований я обнаружил, что getExternalFilesDir () устарел в android Q +. Но я не могу найти какой-либо правильный способ сделать это в android 10. Так что, пожалуйста, если кто-нибудь может предоставить руководство, это было бы действительно полезно.
Я добавил и предоставил разрешение на использование android: name = "android .permission.WRITE_EXTERNAL_STORAGE" /> в случае, если это была проблема, и она ничего не решила.
Это моя попытка (Используемый ParcelFileDescriptor):
private void fileAccessForAndroidQ(Uri fileUri){
try {
ParcelFileDescriptor parcelFileDescriptor = this.getContentResolver().openFileDescriptor(fileUri, "r", null);
InputStream inputStream = new FileInputStream(parcelFileDescriptor.getFileDescriptor());
Cursor returnCursor =
getContentResolver().query(fileUri, null, null, null, null);
int nameIndex = returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME);
returnCursor.moveToFirst();
fileName = returnCursor.getString(nameIndex);
file = new File(this.getFilesDir(), fileName);
OutputStream outputStream = new FileOutputStream(file);
IOUtils.copyStream(inputStream, outputStream);
}catch (Exception e){
Toast.makeText(this, ""+e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
Любая помощь будет принята с благодарностью.