Existe uma maneira padrão de chamar a caixa de diálogo com a escolha de escolher uma imagem da câmera ou obter da galeria (como na lista telefônica embutida ou no Skype)?
Dei uma olhada nisso, mas o código abre a galeria sem sugerir selecioná-lo da câmera.
Dispositivo: Samsung Galaxy Tab
Android: 2.3.3
Respostas:
O código abaixo pode ser usado para tirar uma foto e para escolher uma foto. Basta mostrar uma caixa de diálogo com duas opções e, após a seleção, usar o código apropriado.
Para tirar uma foto da câmera:
Para escolher uma foto da galeria:
onActivityResult
código:Por fim, adicione esta permissão no arquivo de manifesto:
fonte
Intent
como um fallback lança SecurityException. Mais informações: plus.google.com/+AndroidDevelopers/posts/e9kyM7VXajzEu juntei algumas soluções para fazer um utilitário completo para escolher uma imagem da Galeria ou Câmera. Estes são os recursos do utilitário ImagePicker (também em uma biblioteca do Github ):
Captura de tela:
Editar : Aqui está um fragmento de código para obter um Intent mesclado para aplicativos de Galeria e Câmera juntos. Você pode ver o código completo em ImagePicker util gist (também em uma biblioteca Github ):
fonte
boolean isCamera = (imageReturnedIntent == null || imageReturnedIntent.getData() == null);
getTempFile
e como usar esta função? atualize a respostaFileProvider
para API> = 23 eUri
para menos.Esta biblioteca torna tudo simples.
Apenas ligue:
Em seguida, faça com que sua Activity implemente IPickResult e substitua o método abaixo.
fonte
Você pode implementar este código para selecionar uma imagem da galeria ou câmera: -
Agora no evento de clique de botão, você pode chamar seu método de imagem selecionada. Isso está dentro da atividade onCreate.
Fora do oncreate da sua atividade.
Atlast, finalmente adicione a câmera e escreva permissão de armazenamento externo para AndroidManifest.xml
Funciona muito para mim, espero que funcione também para você.
fonte
Acho que cabe a você mostrar esse diálogo para escolher. Para a Galeria, você usará esse código e, para a Câmera, tente isso .
fonte
Se você deseja obter a imagem da galeria ou capturar a imagem e configurá-la para visualização de imagens no modo retrato, o código a seguir irá ajudá-lo.
Em onCreate ()
Espero que isso ajude você .... !!!
Se targetSdkVersion for maior que 24, FileProvider será usado para conceder acesso.
Crie um arquivo xml (caminho: res \ xml) provider_paths.xml
Adicionar um provedor em AndroidManifest.xml
e substituir
Para
fonte