2016-05-02 2 views
1

Я хочу добавить фильтр расширения файла в мое просматриваемое приложение, потому что я хочу, чтобы оно просматривалось только тогда, когда URL-адрес указывает на изображение (jpg, png, bmp, gif ...)Добавить фильтр расширения файлов в просматриваемое приложение

Я попытался android:mimeType="image/*", но он не работает с интернет-адресов, это работает только, если он прямо указывает на изображение в файловой системе (с использованием 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 фильтр с фильтром добавил он не действует в качестве просматриваемого приложения.

+0

"но он не работает с интернет-URLs" - пожалуйста, обеспечить [mcve]. – CommonsWare

+0

Я отредактировал ответ. – Grender

+0

Это не [mcve], демонстрирующий вашу проблему с 'android: mimeType =" image/* "'. – CommonsWare

ответ

1

Наконец-то мне удалось заставить его работать, используя pathPattern, как видно here.

<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)

Смежные вопросы