Android Как создать фильтр намерения для пользовательского расширения файла, который НЕ делает его частью средства выбора для всего на телефоне

Я видел здесь множество ответов о создании фильтра намерений для пользовательского расширения файла, но ни один из них не кажется Чтобы ответить на мой вопрос:

У меня есть фильтр намерений, который работает прямо сейчас ... когда я просматриваю свой файл или открываю его из вложения электронной почты, мое приложение появляется в списке. Сам файл имеет собственное расширение «tgtp», но в основном это просто файл xml.

Проблема, с которой я столкнулся, заключается в том, что, хотя этот фильтр намерений работает, он также добавляет мое приложение к каждому средству выбора для каждого типа файлов на моем телефоне. Например, если я очищу настройки приложения для контактов по умолчанию и щелкну один из своих контактов, он говорит, что мое приложение может его открыть.

Я пробовал десятки различных комбинаций фильтров намерений с разными схемами, типами MIME и т. Д., И некоторые из них по-прежнему позволяют мне открывать файл, если я просматриваю с помощью файлового браузера, но мне, в частности, нужно иметь возможность открывать вложения электронной почты и открыть как файловый браузер. Мне еще предстоит найти фильтр (ы) намерений, который позволил бы мне сделать это, не делая мое приложение доступным для всех других средств выбора намерений.

Вот мой текущий фильтр намерений, который использует мое приложение для открытия всего:

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.tgtp" />   
</intent-filter>

Заранее благодарю

8
задан Nick 1 March 2012 в 14:58
поделиться