Я пытался заставить это работать целую вечность и попробовал в основном все предложенные решения и все еще не могу заставить Android распознавать определенные расширения файла. У меня есть фильтр намерений с типом "*/*"
mimetype, который, кажется, работает единственно, и браузеры файлов теперь отображают мое приложение в качестве опции для открытия файлов, однако мое приложение теперь отображается как опция для открытия ЛЮБОГО ВИДА файл, хотя я указал конкретные расширения файлов с помощью тега pathPattern. Это заходит так далеко, что даже когда я пытаюсь просмотреть / изменить контакт в моем списке контактов, Android спрашивает меня, хочу ли я использовать свое приложение для просмотра контакта, и это только одна из многих ситуаций, когда это происходит, ОЧЕНЬ ОЧЕНЬ раздражает.
В конце концов я нашел этот пост группы Google с похожим вопросом, на который ответил настоящий инженер по Android Framework. Она объясняет, что андроид просто не знает ничего о расширениях файлов, только MIME-типы (https://groups.google.com/forum/#!topic/android-developers/a7qsSl3vQq0).
Так что из того, что я видел, пробовал и читал, Android просто не может отличить расширения файлов, а тег pathPattern - это, по сути, гигантская трата времени и энергии. Если вам достаточно повезло, что вам нужны только файлы определенного типа MIME (скажем, текст, видео или аудио), вы можете использовать фильтр намерений с MIME-типом. Если вам нужно конкретное расширение файла или mime-тип, неизвестный Android, то вам не повезло.
Если я ошибаюсь по этому поводу, пожалуйста, сообщите мне, пока я прочитал все посты и попробовал каждое предлагаемое решение, которое смог найти, но ни одно не помогло.
Я мог бы написать еще одну или две страницы о том, как часто встречаются подобные вещи в Android и как испортился опыт разработчика, но я спасу вас от моих злых разглагольствий;). Надеюсь, я спас кого-то от неприятностей.