Estou com problemas na parte de Bitmap. Quando eu não invoco o método "Bitmap bitmap = BitmapFactory.decodeFile(caminhoFoto);" eu consigo tirar a foto e a mesma fica salva no meu celular com o nome dado no CAMINHOFOTO, porém, ela não é colocada no formulário. Por outro lado, quando eu invoco o método "Bitmap bitmap = BitmapFactory.decodeFile(caminhoFoto);" , dá um erro no qual não estou conseguindo resolver, gostaria de uma ajuda. Nome do erro: {br.com.vinicius.agenda/br.com.vinicius.agenda.FormularioActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
Código do botão:
Button botaoCamera = findViewById(R.id.formulario_botao_foto);
botaoCamera.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intentCamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
caminhoFoto = getExternalFilesDir(null) + "/" + System.currentTimeMillis() + ".jpg";
arquivoFoto = new File(caminhoFoto);
intentCamera.putExtra(MediaStore.EXTRA_OUTPUT, arquivoFoto); // Aqui meu celular não está aceitando Uri.fromFile(); , com isso, ele aceitou o file direto.
startActivityForResult(intentCamera, CODIGO_CAMERA); } });
Codigo do bitmap:
protected void onActivityResult(int requestCode, int resultCode, Intent data) { if(resultCode == Activity.RESULT_OK) {
if (requestCode == CODIGO_CAMERA) { ImageView foto = (ImageView) findViewById(R.id.formulario_foto);
Bitmap bitmap = BitmapFactory.decodeFile(caminhoFoto);
Bitmap bitmapReduzido = Bitmap.createScaledBitmap(bitmap, 300, 300, true);
foto.setImageBitmap(bitmapReduzido);
} }