2017-01-09 26 views
1

Есть ли способ извлечь расширение содержимого: uri, возвращенный из Action_Send.Android: Action_Send return Extra_Stream: Как получить расширение файла

Я могу открыть поток к контенту, предоставленному Extra_Stream, когда был получен Action_Send, но мне нужно указать файл с соответствующим расширением файла.

ответ

2

Мне нужно имя файла с расширением правильного файла

Это не файл. Это часть контента.

Например, что такое «надлежащее расширение» этой веб-страницы? Его URL: https://stackoverflow.com/questions/41558630/android-action-send-return-extra-stream-how-to-get-the-extension-of-the-file.

A Uri работает так же. Это непрозрачная ручка для некоторого контента. Не предполагайте, что он имеет расширение файла.

You can получить MIME-тип, через DocumentFile. Оттуда MimeTypeMap может предложить расширение файла, которое вы можете использовать.

+0

Прохладный, я могу получить имя файла тоже. Большое спасибо – LittleFunny

+0

@LittleFunny: вы можете получить отображаемое имя содержимого. Является ли это похожим на имя файла, зависит от поставщика этого контента. – CommonsWare

+0

В этом случае мне нужно будет проверить, может ли расширение быть извлечено, если не считать, что это неизвестный тип файла. Спасибо за помощь – LittleFunny