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...