Проблема с намерением выбора действия для мультимедиа из галереи или Google Photo

#android #google-photos

#Android #google-фотографии

Вопрос:

Как определить, какое приложение пользователь выбрал для программного выбора медиа? Google Photo или галерея

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

1. Вы можете создать для пользователя средство выбора между приложениями и узнать, что выбрал пользователь, вы можете использовать onActivityResult.

2. @Emil проблема в том, что я должен указать mimetypes для intent перед onActivityResult. Google Фото принимает только первые

3. Что вы уже пробовали? С какой «проблемой» вы столкнулись?

Ответ №1:

Смотрите этот код для выбора изображений или видео из галереи или Google Photos

  int PICK_IMAGE_REQUEST = 111;


imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v)

                String[] mimeTypes = {"video/*","image/*"};

    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        intent.setType(mimeTypes.length == 1 ? mimeTypes[0] : "*/*");
        if (mimeTypes.length > 0) {
            intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
        }
    } else {
        String mimeTypesStr = "";
        for (String mimeType : mimeTypes) {
            mimeTypesStr  = mimeType   "|";
        }
        intent.setType(mimeTypesStr.substring(0,mimeTypesStr.length() - 1));
    }
    startActivityForResult(Intent.createChooser(intent,"ChooseFile"), PICK_IMAGE_REQUEST);


        }
    });
  

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

1. Насколько я знаю, нет такого способа узнать о названии приложения, которое выбрано пользователем, и вам не нужно беспокоиться об этом. Если вы расскажете мне о своей реальной проблеме, я помогу с этим 🙂

2. хорошо) Моя проблема заключается в том, что я хочу выбрать медиа, устройство, предлагающее галерею, и Google Фото. Представьте, что пользователь выбрал Google Photos. Затем приложение показывает мне только изображение или видео (я хочу оба). Google photo принимает только первый mimetype

3. вы можете установить свой собственный mimetype и присвоить этим mimetypes значение intent с помощью EXTRA_MIME_TYPES. это позволит использовать только определенные типы (в вашем случае фотографии / видео). будь то галерея или Google Фото, это будет работать в обоих.