Как сохранить файл в общедоступном хранилище с помощью Android Kotlin?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как сохранить файл в общедоступном хранилище с помощью Android Kotlin?

Сообщение Anonymous »


Я новичок в Android/Kotlin.

Я могу сохранить файл .txt в папке частного приложения (/data/data/com.sky.altipro/files/AltiPro2023-08-26-14:43:08.908.log) без проблем.

Однако я не нашел способа сохранить его в общедоступном хранилище местоположении (/storage/emulated/0/Documents). Приходит хорошо известное сообщение о нарушении:

// каталог val = this.filesDir //каталог val = File(this.filesDir, "AltiPro").apply { mkdirs() } // каталог val = File(getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS), "AltiPro").apply { mkdirs() } // каталог val = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "AltiPro").apply { mkdirs() } // каталог val = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) Каталог val = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) val файл = Файл (каталог, имя файла) file.appendText("${location.time},${location.latitude},${location.longitude},$AltitudeInt\n") Вызвано: java.io.FileNotFoundException: /storage/emulated/0/Documents/AltiPro2023-08-27-18:06:55.240.txt: ошибка открытия: EPERM (операция не разрешена). Я попробовал разрешения манифеста... но начиная с API30 это не имеет никакого эффекта.

Этот файл содержит информацию о рейсе, и я хотел бы, чтобы пользователь мог загрузить его и просмотреть в Excel или Google Earth.

Я прочитал документацию по Android, но не смог разработать код, так как API30 показался мне довольно сложным и не нашел ни одного реального примера в сети.

Есть ли какой-нибудь простой код, который вдохновит меня?

Спасибо.
Ответить

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

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

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

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

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