Android добавит мое приложение в "Поделиться" в галерее
Мне удалось добавить мое приложение в "share" в галерее Android, поэтому, если я нажму на него, начнется мое приложение. Могу ли я выбрать, какую работу над моим приложением начать?
Теперь он начинает "основной". Здесь мой код в основном классе:
.....
Intent intent = getIntent();
Bundle extras = intent.getExtras();
String action = intent.getAction();
// if this is from the share menu
if (Intent.ACTION_SEND.equals(action)) {
if (extras.containsKey(Intent.EXTRA_STREAM)) {
// Get resource path
}
}
И манифест:
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
В действительности мне удается открыть новое мероприятие сразу после начала "основного", но я предпочту сразу открыть правильный.
Благодаря
Ответы
Ответ 1
Поместите свой фильтр намерений под действие, которое вы хотите запустить в манифест.
<activity android:name=".Theme"
android:label="MAIN">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Theme"
android:label="ActiVITY2">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
Ответ 2
Если у вас было два действия в вашем файле манифеста, скажем Main
и MediaShare
, тогда он будет выглядеть примерно так:
<activity android:name="Main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity android:name="MediaShare" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
Данные о действиях android.intent.action.SEND
и android:mimeType="image/*"
должны идти с активностью, которую вы хотите запустить при совместном использовании изображения.
Для получения дополнительной информации см. страницу для получения контента из других приложений.