"content" uri 的 Intent-filter like content://media/external/images/media/4711 only

Intent-filter for "content" uris like content://media/external/images/media/4711 only

我已经为本地文件编写了一个图像查看器,也应该启动 通过 content-uri 来自画廊。

我的问题:

如何定义仅匹配 uris 内容的清单意图过滤器://media/external/images/media/4711 但不是 http 或 https uris?

我已经拥有的:

(1) 工作 本地文件图像的过滤器(用于从文件管理器启动图像视图)

    <activity ... >
        <intent-filter>
            <data android:mimeType="image/*" android:scheme="file" />

            <action android:name="android.intent.action.VIEW" /> 
            <action android:name="android.intent.action.SEND" /> 
            <action android:name="android.intent.action.SENDTO" />
            <category android:name="android.intent.category.DEFAULT" /> 
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>

(2) 和所有图像的过滤器 到广泛 (包括 http、https、文件、内容) 不幸的是,我的应用无法处理 http(s) 内容:-(

    <activity ... >
        <intent-filter>
            <data android:mimeType="image/*" />

            <action android:name="android.intent.action.VIEW" /> 
            <action android:name="android.intent.action.SEND" /> 
            <action android:name="android.intent.action.SENDTO" />
            <category android:name="android.intent.category.DEFAULT" /> 
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>

(3) 我试过的 对像内容这样的 uris 不起作用://media/external/images/media/4711 我的测试:在 android 4.4 手机上使用 "gallery" app-s 共享:我的 activity 没有被触发。

    <activity ... >
        <intent-filter>
            <data android:mimeType="image/*" android:scheme="content" />


            <action android:name="android.intent.action.VIEW" /> 
            <action android:name="android.intent.action.SEND" /> 
            <action android:name="android.intent.action.SENDTO" />
            <category android:name="android.intent.category.DEFAULT" /> 
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>

到目前为止,我已经尝试了这些无效的数据元素:

        <data android:scheme="content" android:host="*"  />

        <data android:scheme="content" android:host="media" 
               android:pathPattern="/external/images/media/.*" />

        <data android:host="*" android:scheme="content" android:mimeType="image/*" />

有没有办法只获取 "content" uris 或 "file" + "content" 而不是 "http"、"https"、....?

标准图像共享意图:

<intent-filter>
    <category android:name="android.intent.category.DEFAULT"/>
    <action android:name="android.intent.action.SEND" />
    <data android:mimeType="image/*"/>
</intent-filter>