Quero criar um seletor de imagens da galeria. Eu uso código
intent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, TFRequestCodes.GALLERY);
Meu problema é que nesta atividade e os arquivos de vídeo são exibidos. Existe uma maneira de filtrar os arquivos exibidos para que nenhum arquivo de vídeo seja exibido nesta atividade?
Respostas:
Absolutamente. Tente o seguinte:
Não esqueça também de criar a constante PICK_IMAGE , para que você possa reconhecer quando o usuário voltar da galeria de imagens Atividade:
É assim que eu chamo a galeria de imagens. Coloque-o e veja se funciona para você.
EDITAR:
Isso abre o aplicativo Documentos. Para permitir que o usuário use também qualquer aplicativo de galeria que ele possa ter instalado:
fonte
@Override
funçãoonActivityResult(int requestCode, resultCode, Intent data)
, onde é recomendado que você usar essa constante para verificar orequestCode
parâmetro antes de fazer qualquer ação :)Às vezes, você não pode obter um arquivo da imagem que escolher. É porque o escolhido veio do Google+, Drive, Dropbox ou qualquer outro provedor.
A melhor solução é solicitar ao sistema que escolha um conteúdo via Intent.ACTION_GET_CONTENT e obtenha o resultado com um provedor de conteúdo.
Você pode seguir o código abaixo ou olhar para a minha essência atualizada .
fonte
if(resultCode == Activity.RESULT_OK) {...}
pode ser usado para detectar o sucesso / cancelarnew File(data.getData()).getAbsolutePath()
Apenas um palpite, eu ainda não tenteigetActivity().getContentResolver().openInputStream(data.getData());
.fonte
path
? emFile file = new File(path);
Você pode usar esse método para escolher uma imagem da galeria. Somente imagens serão exibidas.
e substitua onActivityResult como
fonte
Aqui está um exemplo completo para solicitar permissão (se necessário), escolher uma imagem da galeria e converter a imagem em
bitmap
oufile
AndroidManifesh.xml
Atividade
Demo
https://github.com/PhanVanLinh/AndroidPickImage
fonte
Se você está procurando apenas imagens e seleção múltipla.
Look @ once https://stackoverflow.com/a/15029515/1136023
É útil para o futuro. Eu, pessoalmente, me sinto ótimo usando o MultipleImagePick .
fonte
Apenas para oferecer uma atualização da resposta para pessoas com API min 19, de acordo com os documentos:
Abrir arquivos usando a estrutura de acesso ao armazenamento - Android Docs
fonte
Para escolher apenas local, adicione:
E isso está funcionando bem:
fonte
Você pode fazer isso mais facilmente do que estas respostas:
fonte