Как и в Instagram, мне нужно отображать несколько вариантов, когда пользователь хочет поделиться картинкой с моим приложением. Мой код манифеста:
<activity android:name="com.myapp.android.ui.MainActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
<data android:mimeType="video/*" />
</intent-filter>
<intent-filter android:label="@string/intent_chat">
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
<data android:mimeType="video/*" />
<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter android:label="@string/intent_chat">
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
<data android:mimeType="video/*" />
</intent-filter>
</activity>
Это правильно отображает 2 варианта для пользователя при попытке поделиться изображением или видео. Один помечен именем приложения, другой - @string/intent_chat
. Проблема в том, что я не могу понять, как узнать, какой пользователь выбрал при обработке входящего Intent
. Я попытался использовать метку, но не могу понять, как получить к ней доступ из Intent
.
Другой вариант - сохранить один intent-filter
, и в моей активности отобразить диалоговое окно, чтобы Пользователь указывает, что он хочет сделать. Однако это подразумевает дополнительный щелчок, которого я бы хотел избежать.