用于接收图像文件的Android Intent Filter仅适用于某些应用程序

时间:2015-07-18 20:55:22

标签: android android-intent intentfilter android-implicit-intent

我正在尝试Android开发。作为练习,我想创建一个能够接收其他应用共享的图像的应用。我在手机上测试应用程序。

如果我在WhatsApp中分享图像,一切都按预期工作。我的应用程序列在共享对话框中,活动已启动。但如果尝试与任何其他应用(例如照片,相册,图库)共享图片,我的应用不会列为选项。

我正在使用标准的Android Studio项目,并且只在清单中添加了以下行。

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

为什么我的应用程序不在其他应用程序中列出?我需要做些什么才能让它发挥作用?

1 个答案:

答案 0 :(得分:1)

Android区分大小写。通过ANDROID.INTENT.CATEGORY.DEFAULT,您将无法匹配正在寻找Intent的任何android.intent.category.DEFAULT。将案例更改为android.intent.category.DEFAULT,您将匹配更多活动请求。

事实上,由于android.intent.category.DEFAULT默认添加到传递给IntentstartActivity()的{​​{1}}个对象,因此我不太确定您的活动如何与WhatsApp一起使用..