(РЕДАКТИРОВАТЬ: я больше не использую его, мы вернулись к двум вариантам «выбрать изображение» и «выбрать видео». Проблема была с некоторыми телефонами Sony. Таким образом, это не 100% решение ниже, будь осторожен!)
Вот что я использую:
if (Build.VERSION.SDK_INT < 19) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/* video/*");
startActivityForResult(Intent.createChooser(intent, getResources().getString(R.string.select_picture)), SELECT_GALLERY);
} else {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_MIME_TYPES, new String[] {"image/*", "video/*"});
startActivityForResult(intent, SELECT_GALLERY_KITKAT);
}
Ключ здесь intent.putExtra(Intent.EXTRA_MIME_TYPES, new String[] {"image/*", "video/*"});