Как получить имя файла и расширение при открытии вложения электронной почты - PullRequest
4 голосов
/ 21 февраля 2012

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

В упражнении я прочитал Намерение так:

Uri uri = getIntent().getData();

, и я могу открыть поток ввода OK, но я хотел бы знать имя файла и расширение для вложения.Любой способ получить это из Uri?

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

Я знаю, что не могу получить доступ к реальному файлу, но мне нужно знать имя файла.

1 Ответ

0 голосов
/ 06 ноября 2013

Если вы выполняете запрос с указанным Uri, курсор имеет 4 столбца: _id, _data, _display_name и _size._display_name - это имя файла с расширением.

Источник: Приложение электронной почты AOSP

AttachmentUtilities.Columns - Столбцы, используемые при запросе вложения Uri

AttachmentProvider - Реализация поставщика вложений

...