Android Intent Filter для получения файлов изображений работает только в некоторых приложениях

Я экспериментирую с разработкой 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 ответ

Решение

Android чувствителен к регистру. Имея ANDROID.INTENT.CATEGORY.DEFAULT, вы не будете соответствовать ни одному Intent что ищет android.intent.category.DEFAULT, Изменить случай на android.intent.category.DEFAULT, и вы будете соответствовать больше запросов активности.

На самом деле, так как android.intent.category.DEFAULT по умолчанию добавляется в Intent объекты переданы startActivity() или же startActivityForResult()Я не совсем уверен, как ваша деятельность работала с WhatsApp...

Другие вопросы по тегам