我想在我的可浏览应用程序中添加一个文件扩展名过滤器,因为我希望它只有在url指向图像(jpg、png、bmp、gif…)时才可浏览
我尝试过android:mimeType="image/*"
,但它不适用于互联网URL,只有当它直接指向文件系统中的图像(使用file://
)时才有效
有没有一种方法可以通过文件扩展名(如http://dmoral.es/assets/image/diffie_hellman.png
)过滤url?
这是我在清单:中的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
使其工作,如图所示。
<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
)