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