应用程序未显示在设备上的默认应用程序列表中

时间:2013-02-21 06:36:57

标签: android intentfilter

我正在尝试编写照片查看器应用程序,并将下面的内容放在我的清单文件中

<activity
        android:name="com.example.testimageintent.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>  
            <action android:name="android.intent.action.VIEW">  
                <category android:name="android.intent.category.DEFAULT">
                    <data android:mimeType="image/*"/>
                </category>
            </action>
        </intent-filter>
    </activity>

当用户尝试从文件浏览器打开图像时,想法是在可用应用程序列表中列出此应用程序。 不知怎的,我的应用程序从未列在该列表中。我仍然可以在列表中看到图库和其他应用,但我的应用永远不会出现。 任何指向我可能做错的指示?

2 个答案:

答案 0 :(得分:0)

我认为你错过了

<action android:name="android.intent.action.SEND" />

<intent-filter>

将其定义为:

<intent-filter>
    <action android:name="android.intent.action.SEND" />

    <category android:name="android.intent.category.DEFAULT" />

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

答案 1 :(得分:0)

抱歉,伙计们,这是我的错。我嵌套了Action,Category和Data块。 它们应该相互独立。 一旦我将它们作为单独的标签,它就可以正常工作:

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