我想向我的可浏览应用程序添加文件扩展名过滤器,因为我希望它仅在URL指向图像(jpg,png,bmp,gif ...)时才可浏览。
我已经尝试过android:mimeType="image/*"
,但是它不适用于Internet网址,仅当它直接指向文件系统中的图像(使用file://
)时,它才有效
有没有一种方法可以通过文件扩展名(例如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
过滤器,它将作为可浏览的应用程序使用,添加过滤器后,它不会用作可浏览的应用程序。 最佳答案
最后,我设法使用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
两者)关于android - 在可浏览的应用程序中添加文件扩展名过滤器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36988052/