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

Ação da câmera não funciona no celular.

Quando rodo o código no emulador funciona normalmente, mais quando rodo no celular, a foto não retorna para o ImageView. a aplicação não chega a parar, porem não consigo visualizar a foto.


 ImageView imgFoto;
    Button btnCamera;
    private int codigoCamera = 123;
    private String caminhoFoto;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnCamera = (Button) findViewById(R.id.main_btn_foto);

        btnCamera.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent vaiCamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                caminhoFoto = getExternalFilesDir(null) + "/" + ".jpg";
                File arquivoFoto = new File(caminhoFoto);
                vaiCamera.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(arquivoFoto));
                startActivityForResult(vaiCamera, codigoCamera);
            }
        });
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (resultCode == Activity.RESULT_OK && requestCode == codigoCamera) {

            ImageView foto = (ImageView) findViewById(R.id.main_img_foto);
            Bitmap bitmap = BitmapFactory.decodeFile(caminhoFoto);
            Bitmap bitmap1 = Bitmap.createScaledBitmap(bitmap, 300, 300, true);
            foto.setImageBitmap(bitmap);
            foto.setScaleType(ImageView.ScaleType.FIT_XY);
        }

    }
2 respostas
solução!

qual a api do seu android, você já fez ou aceitou a permissão pra acessar a câmera do celular?

Olá o problema resolvido, estava faltando declarar no manifest. muito obrigado.