GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Botão para chamar galeria e Câmera


#1

Olá galera blz com ocêis rss
seguinte como faço para chamar a galeria e ou a câmera na minha app. Tipo igual o olx tem uma imagem que ao clicar nos da a opção de abrir a câmera e tirar uma foto ou abrir a galeria e escolher uma foto.

Olhem o que tenho…

        btnCamera.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                startActivityForResult(Intent.createChooser(intent, "Tire uma Foto"), CAMERA_PICTURE);
            }
        });

este botão Onclick me chama a câmera pega a foto tirada e me mostra aqui…

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
        Bitmap bitmap = (Bitmap)data.getExtras().get("data");
        imgProd.setImageBitmap(bitmap);

    }

agora to tentando esse outro botão para abrir a galeria…

        btnGaleria.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType("image/*");
                startActivityForResult(intent, SELECT_PICTURE);
            }
        });

Bom este botão me chama a galeria para eu escolher a imagem porem não me retorna a imagem selecionada como no botão btnCamera acima

Agora como eu faço para abrir com um único botão ele me dar a opção de escolher tirar uma foto ou pegar da galeria???
agradeço aos camaradas


#2

Olá, vc tem que trabalhar no seu onActivityResult, conforme o requestCode.
Esse requestCode é o valor da constante SELECT_PICTURE ou CAMERA_PICTURE.
segue um exemplo
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(resultCode != RESULT_OK)
return;

    switch (requestCode)
    {
        case Constants.GALLERY_CODE:
             //faz alguma coisa
            break;

        case Constants.PHOTO_CODE:
             //faz alguma coisa

            break;

    }
}