Добавить фильтр расширений файлов в просматриваемом приложении
Я хочу добавить фильтр расширений файлов в мое приложение для просмотра, потому что я хочу, чтобы он был доступен для просмотра только тогда, когда URL-адрес указывает на изображение (jpg, png, bmp, gif...)
я пытался android:mimeType="image/*"
но он не работает с интернет-URL, он работает, только если он напрямую указывает на изображение в файловой системе (используя file://
)
Есть ли способ отфильтровать URL по расширению файла, например http://dmoral.es/assets/image/diffie_hellman.png
?
Это мое intent-filter
в декларации:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:mimeType="image/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:mimeType="image/*" />
</intent-filter>
Это работает как приложение для просмотра, если я удаляю mimeType
фильтр, с добавленным фильтром, он не действует как приложение для просмотра.
1 ответ
Наконец мне удалось заставить его работать, используя pathPattern
как видно здесь.
<data android:scheme="https"
android:host="*"
android:pathPattern=".*\\.jpg"/>
<data android:scheme="https"
android:host="*"
android:pathPattern=".*\\.jpeg"/>
<data android:scheme="https"
android:host="*"
android:pathPattern=".*\\.png"/>
<data android:scheme="https"
android:host="*"
android:pathPattern=".*\\.bmp"/>
<data android:scheme="https"
android:host="*"
android:pathPattern=".*\\.gif"/>
(Как для https
а также http
)