Почему GetExternalStoragePublicDirectory работает во всех версиях Android до 14?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Почему GetExternalStoragePublicDirectory работает во всех версиях Android до 14?

Сообщение Anonymous »

Я создал простое приложение, которое имеет функциональность, которое записывает файл TXT (или XLSX) в каталог загрузки. Он не заинтересован в общих папках. Смотрите эту ссылку: Это так, что не работает после Android 13 (больше Granular Permisions). Оказывается, следующее, простой кусок кода [Перейти к концу сообщения] удается записать эти файлы в папку загрузки во всех версиях Android (эмулированный), не требуя никаких разрешений.
Чего мне здесь не хватает? Почему это так хорошо работает? Я где -то читал GetExternalStoragePublicDirectory () устарел (хотя IDE не отмечена так, как IDE).
public void saveFile(String fileName, byte[] fileBytes) {
final File downloadsFolder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
if (Objects.isNull(downloadsFolder)) {
Log.e(LOG_PREFIX, "The downloads folder was null");
toaster.show(R.string.collections_fragment_lack_permission_to_write_file);
return;
}

if (!downloadsFolder.exists()) {
if (!downloadsFolder.mkdirs()) {
Log.e(LOG_PREFIX, "The downloads folder does not exist, and an attempt to create it failed");
toaster.show(R.string.collections_fragment_lack_permission_to_write_file);
return;
}
}

final File file = new File(downloadsFolder, fileName);
try {
final var fos = new FileOutputStream(file);
fos.write(fileBytes);
fos.close();
} catch (IOException e) {
Log.e(LOG_PREFIX, "Something went wrong while attempting to write to the downloads folder");
toaster.show(R.string.collections_fragment_lack_permission_to_write_file);
}

sendFileExportedNotification(fileName);
}


Подробнее здесь: https://stackoverflow.com/questions/779 ... ns-up-to-1
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»