При использовании ACTION_OPEN_DOCUMENT_TREE Storage Access Framework не показывает корни облаков - PullRequest
1 голос
/ 11 июня 2019

Я прочитал, что должен заранее подготовить свое приложение к выпуску Android Q, потому что тогда общий доступ на чтение / запись к файлам вне каталогов, принадлежащих приложению, может быть признан устаревшим, если они не откажутся от нового способа управления этими файлами.

К счастью, у меня не так много строк кода, которые нужно изменить.

Дело в том, что в Storage Access Framework, похоже, есть некоторые проблемы.И именно здесь от Киткат, я вижу (я этого не знал).В противном случае мой код неверен.

Я не могу просто заставить пользователя выбрать папку в облачном хранилище, чтобы получить Uri взамен, для дальнейшего заполнения этой папки.

Когда яиспользуйте пример кода, найденный по адресу

https://github.com/android/storage/tree/228c8e0aa19586bfcf36318ddb191719537a45a4/ActionOpenDocumentTree#action_open_document_tree

, и поместите его в приложение для базовых действий (пример приложения по умолчанию, созданного в среде IDE), так что пользователь не может выбрать облачное хранилищекорень, но только места на диске.Это в Kotlin, но я перевел это на Java, не изменяя это.Разве это не проблема Java, потому что я попробовал также версию Kotlin.

[Я написал другой код с некоторыми взломами, которые по крайней мере привели к возвращению облачной папки Uri в метод onActivityResult.Он включает в себя использование другого намеренного действия, но он все еще не служит моим целям, промежуточному программному обеспечению это не нравится, поэтому он нарушает Storage Access Framework - не удается получить дерево документов из uri (возвращено из приложения Drive) ]

В обоих случаях у меня одинаковые пути:

<paths xmlns:android="http://schemas.android.com/apk/res/android">
<files-path name="filesPath" path="/"/>
<external-path name="externalPath" path="/"/>
<external-files-path name="externalFilesPath" path="/"/>
</paths>

Как заставить пользователя выбрать папку в облачном провайдере и как получить URI?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...