Я создал простое приложение, которое имеет функциональность, которое записывает файл 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
Почему GetExternalStoragePublicDirectory работает во всех версиях Android до 14? ⇐ Android
Форум для тех, кто программирует под Android
1752066496
Anonymous
Я создал простое приложение, которое имеет функциональность, которое записывает файл TXT (или XLSX) в каталог загрузки. Он не заинтересован в общих папках. Смотрите эту ссылку:
[list]
[*]https://developer.android.com/training/permissions/requesting
[/list]
Это так, что [b] не работает [/b] после 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);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/77998941/why-is-getexternalstoragepublicdirectory-working-in-all-android-versions-up-to-1[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия