图库意图仅显示图像或视频而不是两者?

Posted

技术标签:

【中文标题】图库意图仅显示图像或视频而不是两者?【英文标题】:Gallery intent shows only image or video not both? 【发布时间】:2015-10-03 15:21:27 【问题描述】:

我正在尝试允许用户从他的设备中选择图像或视频,目前它仅显示视频或图像,具体取决于以下代码中首先写入的内容:

 Intent galleryIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

                //set type to include video too
                galleryIntent.setType("image/*, video/*");

                startActivityForResult(galleryIntent, GALLERY_IMAGE_REQUEST_CODE);
            
        ;

不确定我做错了什么,但 setType 似乎是正确的,我尝试在图像和视频之间使用和不使用逗号...

【问题讨论】:

@find 任何解决方案? 【参考方案1】:
 case 2: //Choose Pic

                            Intent choosePhotoIntent = new Intent(Intent.ACTION_GET_CONTENT);
                            choosePhotoIntent.setType("image/*");
                            startActivityForResult(choosePhotoIntent, PICK_PHOTO_REQUEST);
                            break;
                        case 3: //Choose Video
                            Intent chooseVideoIntent = new Intent(Intent.ACTION_GET_CONTENT);
                            chooseVideoIntent.setType("video/*");
                            Toast.makeText(MyActivity.this,getString(R.string.video_message), Toast.LENGTH_LONG).show();
                            startActivityForResult(chooseVideoIntent, PICK_VIDEO_REQUEST);
                            break;

试试上面..你需要有单独的选项..

【讨论】:

【参考方案2】:

我遇到了同样的问题,它只使用列表中的第一个 MIME 类型。

这最终对我有用:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("*/*");
String[] mimeTypes = "image/*", "video/*";
intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
startActivityForResult(intent, REQUEST_CODE_CAMERA_ROLL);

【讨论】:

【参考方案3】:

这对我有用:

Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(gallery, PICK_MEDIA);

【讨论】:

以上是关于图库意图仅显示图像或视频而不是两者?的主要内容,如果未能解决你的问题,请参考以下文章

仅带有图像选项的相机意图

使用隐式意图读取图库文件夹

如何在分页 UIScrollView 中显示确定的项目,而不是仅从 0 加载它

让用户拍照或从 Android 中的图库中选择图像的单一意图

Android从图库中获取图像

图像仅显示在网格视图的第一项中