Подтвердить что ты не робот

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>

В действительности мне удается открыть новое мероприятие сразу после начала "основного", но я предпочту сразу открыть правильный. Благодаря

4b9b3361

Ответ 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/*" должны идти с активностью, которую вы хотите запустить при совместном использовании изображения.

Для получения дополнительной информации см. страницу для получения контента из других приложений.