Как мне добавить поддержку прикрепления «видео / фото» из приложений, таких как WhatsApp, в мое приложение?

#android #camera #android-intent

#Android #камера #android-намерение

Вопрос:

Я пишу приложение для камеры для Android, я хочу, чтобы мое приложение отображалось в списке, когда запрашивается видео / фотография для съемки в приложениях, таких как WhatsApp Messenger.

Например, в WhatsApp, когда вы нажимаете «прикрепить изображение», вы можете выбрать стандартную камеру, или, если я установлю vignette, я могу использовать vignette.

Как я узнаю, какое намерение прослушивать?

Спасибо!

Ответ №1:

Для этого вам нужно использовать фильтр намерений.

     <activity android:name=".Activity" android:label="@string/app_name"  android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="image/*" />
        </intent-filter>
    </activity>
  

Если вы добавите фильтр намерений с данными, категорией и данными, как указано выше, он запросит приложение, если вам нужно поделиться некоторыми фотографиями, скажем, поделиться изображением вне приложения из галереи изображений.

Если вы выберете свое приложение, оно перенаправит управление на вашу активность.

Внутри вашей активности вы обрабатываете свои намерения с помощью :

 try{
        Uri imageUri = (Uri) getIntent().getExtras().get(Intent.EXTRA_STREAM);
        Cursor cursor = getContentResolver().query(imageUri, new String[] { android.provider.MediaStore.Images.ImageColumns.DATA }, null, null, null);
        cursor.moveToFirst();
    }catch(Exception e){
        Log.v("Exception eeee", "" e);
    }
  

Теперь курсор будет содержать выбранное вами изображение.

Это для выбора изображений, вы можете использовать то же самое для видео, необходимого для изменения mimitype в файле манифеста фильтра намерений.

Комментарии:

1. Вау! Отличная информация! Спасибо, я думаю, что это оставляет мне только одну вещь, о которой мне интересно. Whatsapp устанавливает ограничение размера для возвращаемого видео. Как мне узнать максимальный размер, который он обеспечивает?