#android #android-manifest
#Android #android-манифест
Вопрос:
У меня есть Android, содержащий activity, который может получать изображения, отправленные ему меню общего доступа Android. Действие имеет такую конфигурацию в файле манифеста:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SEND_MULTIPLE" />
<data android:mimeType="image/*" />
</intent-filter>
Я использую фильтр mimeType, чтобы разрешить отправку только изображений в действие.
По-видимому, это работает не на всех устройствах. Я тестировал его на Nexus S и Galaxy S / S2, и он отлично работал, но у меня есть жалобы от некоторых пользователей (особенно xperia), в которых говорится, что приложение не отображается в меню «Поделиться», когда оно открыто на фотографии из галереи.
Приложение использует SDK 2.1 sdk 7.
Ответ №1:
Не существует правила, которое гласило бы, что у действия есть меню «поделиться», поддерживающее какой-либо конкретный Intent
фильтр.
Сказав это, я бы добавил:
<category android:name="android.intent.category.DEFAULT" />
для вашего фильтра.
Комментарии:
1. Что означает добавление категории в фильтр намерений? Не удается найти достойное объяснение в справке Android… Не понял, что вы имели в виду в первой строке.
2. @Idan: это означает, что вы соответствуете
Intent
тому, который содержит категорию. Приношу свои извинения за это вступительное предложение, теперь оно исправлено.3. Моя активность — получатель.. Меню «Поделиться» открывается с помощью других приложений (например, галереи), и мое приложение должно быть одним из вариантов внутри этого меню «Поделиться». Он по-прежнему не объясняет, почему он работает на одних устройствах и не работает на других.
4. @Idan: Вы можете обойти всех производителей устройств и заставить их под дулом пистолета внедрить меню «поделиться», которое будет соответствовать вашей активности. Обратите внимание, что это, вероятно, нарушит несколько законов. Кроме того, не существует правила, согласно которому действие от производителя устройства должно иметь меню «поделиться», соответствующее вашим критериям. Если вы не включаете эту
DEFAULT
категорию в свой<intent-filter>
список, я предлагаю вам попробовать, поскольку именно это Google делает со своими собственными приложениями.