Intent-filter for" content" uris喜欢内容:// media / external / images / media / 4711 only

时间:2015-08-21 07:22:55

标签: android image android-contentprovider intentfilter

我为本地文件编写了一个imageviewer,也应该启动它 从画廊通过内容 - uri。

我的问题:

如何定义仅与内容匹配的清单intent-filter:// 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,文件,内容)的所有图片的过滤器 Unfortunatley我的应用程序无法处理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)我尝试过哪些无法正常工作,如内容:// media / external / images / media / 4711 我的测试:使用&#34;画廊&#34; Android 4.4手机上的app-s共享:我的活动没有被触发。

    <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/*" />

有没有办法获得&#34;内容&#34;只有uris或&#34;文件&#34; +&#34;内容&#34;但不是&#34; http&#34;,&#34; https&#34;,....?

1 个答案:

答案 0 :(得分:-1)

标准图片共享意图:

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