2016-01-03 4 views
1

Есть ли способ получить абсолютный путь от определенных папок & Файлы, расположенные на съемной SD-карте, с использованием платформы хранения данных (SAF)?Как получить абсолютные пути на съемной SD-карте с использованием Storage Access Framework (SAF)?

Благодаря

+0

Возможно, это может помочь - http://stackoverflow.com/questions/20067508/get-real-path-from-uri-android-kitkat-new-storage-access-framework – Tasos

ответ

0

Нет, и даже если бы вы могли, вы не сможете получить доступ к ним, если они не оказались в одном из нескольких мест на съемном носителе, для которого вы имеете доступ на чтение (например, getExternalFilesDirs()).

База доступа к хранилищу возвращает Uri значения, указывающие на документы. Используйте ContentResolver и методы, подобные openInputStream(), чтобы работать с ними. Это примерно эквивалентно получению значений URL, указывающих на документы, и использование HTTP-клиента для открытия потока для работы с содержимым этих документов.

+1

Проблема в том, что openInputStream не является подходит для всего. Класс MediaMuxer является хорошим примером, так как для него требуется абсолютный путь файла в качестве цели, поэтому теперь MediaMuxer можно использовать только для внутреннего хранилища. – PerracoLabs

+1

@PerracoLabs: «MediaMuxer» также не работает с URL-адресами. Следовательно, вы должны обрабатывать сценарий Storage Access Framework так же, как и с веб-сценарием. Я никогда не использовал «MediaMuxer», но из быстрого сканирования документов единственное место, где я вижу файлы, - это запись вывода. Итак, сначала вы сначала запишете файл «MediaMuxer» во внутреннее хранилище, переведя его в «OutputStream» из 'Uri'/URL, когда выполняется muxing, um. – CommonsWare