android- open gallery and choose image and video

stack picture stack · Apr 7, 2013 · Viewed 32.7k times · Source

In my project I want to open a gallery on a button click and should be able to pick image or video to get path of them.

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

startActivityForResult(i, RESULT_LOAD_IMAGE);

From above code i am able to open gallery but in this case i am only able to choose image. So, please help me in choosing video also. Thanks in advance.

Answer

YYamil picture YYamil · Jun 2, 2017

On Android 6.0 and above using "video/* image/" or "image/ video/*" type doesn't work, it only recognizes the first filter you specify. I solved the problem using this code:

Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
photoPickerIntent.setType("*/*");
photoPickerIntent.putExtra(Intent.EXTRA_MIME_TYPES, new String[] {"image/*", "video/*"});
startActivityForResult(photoPickerIntent, Constants.SELECT_PHOTO);

Although this will ask the user which app they want to use to select the image/video.