У меня есть содержание uri из каталога с намерением поделиться другим приложением. Из этого я могу создать FileDescriptor и открыть InputStream. Но как я могу проверить, если это каталог и получить файлы, если это каталог? Спасибо!Получить файлы из файла FileDescriptor в каталоге
ответ
У меня есть содержание УИРА каталога от доли намерения другого приложения
Там нет такого понятия, как «содержание УИР директории», не больше, чем есть «REST URL директории».
В некоторых случаях мы можем иметь протокол, где Uri
представляет коллекцию контента (например, ContactsContract.Contacts.CONTENT_URI
, A Uri
извлеченную с помощью ACTION_OPEN_DOCUMENT_TREE
). Нет такого протокола для «content uri of directory», который поставляется через ACTION_SEND
, в стандартном Android.
Из этого я могу создать FileDescriptor и открытый InputStream
Возможно. Это полностью зависит от того, что фактически представляет собой Uri
.
Но как я могу проверить, если это каталог и получить файлы, если это каталог?
В общем, вы не можете.
Если Uri
случается при поддержке со стороны поставщика документа, а Uri
происходит представлять дерево содержания, DocumentFile.fromTreeUri()
позволит вам список документов, в том дереве, похожее на API на File
.
В противном случае, вы можете посмотреть тип MIME Uri
. Если тип MIME начинается с vnd.android.cursor.dir/
, тогда он должен быть Uri
, что вы можете query()
, хотя для каких столбцов нет правил. Если тип MIME - это что-то еще, нет правил для содержимого и того, как вы можете его использовать.
Для конкретных приложений вы можете связаться с разработчиками приложения и спросить их «эй, когда вы дадите мне Uri
, который выглядит так, как я могу его использовать?».
TL; DR: если вы получаете Uri
через ACTION_SEND
, где что Uri
указывает на что-либо, что не является частью контента, отправка приложение имеет ошибку.
- 1. SoundPool.load() и FileDescriptor из файла
- 2. HTML5 получить файлы в каталоге
- 3. Получить файлы в каталоге, распечатать по строкам
- 4. Как получить файлы в каталоге jar-файла в java?
- 5. рубин переименования файла в каталоге удаляет файлы
- 6. FileDescriptor Directory в Java
- 7. SSIS - получить имя файла в каталоге SFTP?
- 8. Получить EXE версии файла из файла в текущем каталоге
- 9. Получить имя файла из последнего по алфавиту файла в каталоге
- 10. Как получить содержимое файла из определенного имени файла в каталоге?
- 11. Получить последнее Created имени файла в каталоге
- 12. Файлы изображений в каталоге
- 13. Есть ли способ получить размер файла только с FileDescriptor?
- 14. Получить все файлы в каталоге и все файлы в подкаталогах
- 15. Android - getLength() на FileDescriptor?
- 16. Как создать файл из FileDescriptor?
- 17. Android получить все файлы в каталоге nullpointerexception
- 18. Получить файлы в каталоге, но не подкаталог
- 19. Получить определенные файлы в рекурсивном каталоге
- 20. Python - Как получить только файлы в каталоге?
- 21. Получить все файлы в каталоге json
- 22. Makefile и файлы в каталоге
- 23. Как получить файлы в каталоге, включая все файлы подкаталогов?
- 24. Файлы в главном каталоге и каталоге приложений
- 25. Фактический дескриптор файлового файла FileDescriptor (как int) в Android
- 26. обрабатывать входящие файлы в каталоге
- 27. Получить часть имени каждого файла в каталоге
- 28. Выбрать файлы в каталоге из вектора
- 29. Файлы в каталоге в C++
- 30. Пустые файлы в каталоге