Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

abrir galeria de foto no android e colocar foto no ImageView

Bom dia, pessoal como faço para pegar foto da galeria do android em vez de usar a câmera ?

2 respostas
solução!

Oi Alisson, tudo bem ?

Vamos precisar usar a intent implícita para resolver esse problema.

new Intent(Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);

Agora precisamos inicializar essa intent, para isso teremos que pedir para o so disparar um evento onde ele traga diversos lugares que possuem foto, para isso usaremos um criador de opções e como estamos aguardando um resultado temos que usar startActivityForResult :


    startActivityForResult(Intent.createChooser(intent, "Selecione uma imagem"), 123);

Agora para resgatar a imagem precisamos pegar as informações atráves do onActivityResult :


protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(resultCode == Activity.RESULT_OK){
            if(requestCode == 123){
                Uri imagemSelecionada = data.getData();

            }
        }
    }

Agora basta você usar essa Uri para conseguir manipular a imagem.

Abraços

olha blz até ai, ele abre a galeria pega a foto só que eu queria levar essa img para um ImageView

 Button pegaFoto = (Button) findViewById(R.id.formulario_pega_foto);
        pegaFoto.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intentPegaFoto = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
                startActivityForResult(intentPegaFoto,PEGA_FOTO);
            }
        });
    }



    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(resultCode == Activity.RESULT_OK) {
            if (requestCode == CODIGO_CAMERA) {
                helper.carregaImage(caminhoFoto);
            }else if (requestCode == PEGA_FOTO){
                Uri imagemSelecionada = data.getData();
                ImageView foto = (ImageView) findViewById(R.id.fomulario_foto);
                Bitmap bitmap = BitmapFactory.decodeFile(String.valueOf(imagemSelecionada));
                Bitmap bitmapReduzido = Bitmap.createScaledBitmap(bitmap, 1080, 1000, true);
                foto.setImageBitmap(bitmapReduzido);
                foto.setScaleType(ImageView.ScaleType.FIT_XY);


            }