Я хочу создать картинку из галереи. Я использую код
intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, TFRequestCodes.GALLERY);
Моя проблема в том, что в этом упражнении и видео файлы отображаются. Есть ли способ отфильтровать отображаемые файлы, чтобы в этом упражнении не отображались видеофайлы?
Ответы:
Абсолютно. Попробуй это:
Не забудьте также создать константу PICK_IMAGE , чтобы вы могли распознать, когда пользователь возвращается из галереи изображений.
Вот как я называю галерею изображений. Вставьте его и посмотрите, работает ли он для вас.
РЕДАКТИРОВАТЬ:
Это вызывает приложение Документы. Чтобы позволить пользователю также использовать любые приложения галереи, которые он мог установить:
источник
@Override
функцииonActivityResult(int requestCode, resultCode, Intent data)
, где рекомендуется использовать эту константу для проверкиrequestCode
параметра перед выполнением каких-либо действий :)Иногда вы не можете получить файл с выбранной вами фотографии. Это потому, что выбранный был от Google+, Drive, Dropbox или любого другого провайдера.
Лучшее решение - попросить систему выбрать контент через Intent.ACTION_GET_CONTENT и получить результат у поставщика контента.
Вы можете следовать приведенному ниже коду или посмотреть мою обновленную суть .
источник
if(resultCode == Activity.RESULT_OK) {...}
может использоваться для обнаружения успеха / отменыnew File(data.getData()).getAbsolutePath()
Просто предположение, я не пробовалgetActivity().getContentResolver().openInputStream(data.getData());
.источник
path
? вFile file = new File(path);
Вы можете использовать этот метод, чтобы выбрать изображение из галереи. Будут отображаться только изображения.
и переопределить onActivityResult как
источник
Вот полный пример разрешения запроса (если нужно), выберите изображение из галереи, затем преобразуйте изображение в
bitmap
илиfile
AndroidManifesh.xml
Деятельность
демонстрация
https://github.com/PhanVanLinh/AndroidPickImage
источник
Если вы ищете только изображения и множественный выбор.
Посмотрите @ один раз https://stackoverflow.com/a/15029515/1136023
Это полезно для будущего. Я лично чувствую себя прекрасно, используя MultipleImagePick .
источник
Просто предложить обновление ответа для людей с API мин. 19, согласно документам:
Открывайте файлы, используя структуру доступа к хранилищу - Android Docs
источник
Только для выбора из местного добавить это:
И это работает здорово:
источник
Вы можете сделать это проще, чем этот ответ:
источник