Как добавить приложение в список "Поделиться через" для изображения камеры на Android
Я создаю приложение, которое запускается, когда пользователь делает снимок с помощью встроенной камеры Android, затем нажимает кнопку "Поделиться", а затем выбирает мое приложение в качестве участника, который ожидает входящий путь к только что снятому изображению, которое он использует для обработки.
Вопрос: как добавить опцию в список "Поделиться через", которая указывает на мое приложение? Прямо сейчас есть такие опции, как Facebook, электронная почта, сообщения, Twitter, Picasa, и я хочу добавить свое приложение с иконкой.
Я застрял! И Google для этого нелегко, так как "Android добавить в общий доступ через список камер" дает много результатов. Я создаю приложение с помощью AppInventor (AI), но AI не позволяет разработчикам редактировать общий ресурс через список, поэтому, возможно, это будет отдельное мини-приложение, которое просто добавляет в список...? Надеюсь, что нет, потому что было бы здорово иметь только 1 приложение для пользователей, которое можно загрузить/установить.
Ответы
Ответ 1
Функции, такие как "share through" в Android, работают с широковещательным intents. Приложение создает это намерение, и система сообщает обо всех действиях, которые могут выполнять это (твиттер, fb...). Вы указываете, что может делать активность с помощью фильтров намерения.
В вашем случае я искал "намерение поделиться камерой Android" и обнаружил, что фильтр намерений выглядит следующим образом:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
(не уверен в разделе данных)
Я не знаю, использует ли приложение камеры конкретный поставщик контента, так как ваше приложение должно иметь возможность управлять, по крайней мере, схемой URI, которую использует приложение.
Ответ 2
Я хотел бы поделиться текстовым контентом и добавить код ниже в манифест и его работы...
<activity android:name=".SendMessage.SendMessageLeads"
android:label="SMS Composer"
android:icon="@drawable/sms_composer">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>