Android 用于接收图像文件的 Intent Filter 仅在某些应用程序中有效

Android Intent Filter to receive image files is only working in some apps

我正在试验 android 开发。作为练习,我想创建一个能够接收其他应用共享的图像的应用。我正在 phone.

上测试该应用程序

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

我使用的是标准 Android Studio 项目,并且仅将以下几行添加到清单中。

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

为什么我的应用没有在其他应用中列出?我必须更改什么才能使其正常工作?

Android 区分大小写。通过 ANDROID.INTENT.CATEGORY.DEFAULT,您将不会匹配正在寻找 android.intent.category.DEFAULT 的任何 Intent。将大小写更改为 android.intent.category.DEFAULT,您将匹配更多 activity 个请求。

事实上,由于 android.intent.category.DEFAULT 默认添加到 Intent 传递给 startActivity()startActivityForResult() 的对象,我不太确定你的 activity 与 WhatsApp 合作...