Есть ли ЛУЧШИЙ И ЧИСТЫЙ способ использования SAF (Storage Access Framework) во Flutter?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли ЛУЧШИЙ И ЧИСТЫЙ способ использования SAF (Storage Access Framework) во Flutter?

Сообщение Anonymous »

На самом деле я хотел создать загрузчик файлов во Flutter для Android, который мог бы загружать файлы одновременно. Для этого мне нужен доступ к системе хранения или любой папке на диске, выбранной пользователем. Я пробовал использовать пакет Filepicker во флаттере, но он работает на некоторых устройствах, но не на некоторых (также с использованием разрешения на управление хранилищем в файле манифеста).
Я пытался создайте простой собственный код платформы, используя kotlin, и получите путь, выбранный пользователем, с помощью

Код: Выделить всё

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == REQUEST_CODE_FOLDER_PICKER && resultCode == RESULT_OK) {
data?.data?.let { uri ->
contentResolver.takePersistableUriPermission(
uri,
Intent.FLAG_GRANT_WRITE_URI_PERMISSION
)

// Convert the URI to a file path
val folderPath = getAbsolutePathFromUri(uri) ?: ""

// Send the folder path back to the Flutter side
pendingResult?.success(folderPath)
pendingResult = null
}
} else {
// If the user cancels the folder picker, send an empty string back
pendingResult?.success("")
pendingResult = null
}
}
Но он возвращает значение в виде «дерева/загрузок», которое тоже не работает, и я также отформатировал этот путь в /storage/emulated/0/Downloads, он все еще ошибка "возбуждение и отказ в доступе".
Итак, я хочу знать, знает ли кто-нибудь из вас, как лучше получить доступ к системе хранения, которая могла бы работать на большинстве устройств Android и была очень предсказуемой. способ. (а не случайно, например, когда-то работает, а иногда нет.)

Подробнее здесь: https://stackoverflow.com/questions/790 ... in-flutter
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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