Как отфильтровать намерение ACTION_OPEN_DOCUMENT по расширению файла - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть код, который запускает средство выбора файлов, выпуская createChooser с намерением ACTION_OPEN_DOCUMENT.

Вот код, который работает:

                Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
                intent.addCategory(Intent.CATEGORY_OPENABLE);
                intent.setType("*.*");
                startActivityForResult(Intent.createChooser(intent, "Choose .xyz file"), RQS_OPEN_XYZ_FILE);

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

Я бы хотел, чтобы средство выбора файлов ограничивало выбор пользователя только файлами, оканчивающимися на ".xyz".

Если бы это был "стандарт" msgstr "тип файла, я могу отфильтровать его по типу MIME. Например, если я добавлю setType ("media / jpeg"), в средстве выбора файлов будут доступны только файлы jpeg. Но в этом случае нет MIME-типа, соответствующего «.xyz».

Мне предложили попробовать фильтр Data Path, но я не смог понять, как реализовать это.

Возможно ли это сделать sh? Если да, то как мне это сделать?

Спасибо!

1 Ответ

0 голосов
/ 06 февраля 2020

Возможно ли выполнить sh это?

Нет, извините. За рамками фундаментальных ограничений ACTION_OPEN_DOCUMENT:

  • Не требуется, чтобы содержимое в желаемом формате имело какое-либо конкретное расширение файла

  • Там пользователь не должен выбирать контент у провайдера документов, который использует расширения файлов (например, облачный провайдер)

  • Расширения файлов очень 1990-х годов

...