public class Formulario extends AppCompatActivity {
public static final int CAMERA_CODE = 123;
Button salvar;
FormularioHelper helper;
private String caminhofoto;
ImageView campofoto;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formuluario);
helper = new FormularioHelper(this);
salvar = findViewById(R.id.salvar);
campofoto = findViewById(R.id.formulario_foto);
final Intent intent = getIntent();
Aluno aluno = (Aluno) intent.getSerializableExtra("aluno");
if(aluno!= null){
helper.preencherFormulario(aluno);
}
Button botaocamera = findViewById(R.id.formulario_botao_foto);
botaocamera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intentCamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
caminhofoto = getExternalFilesDir(null)+"/"+System.currentTimeMillis()+".jpg";
File arquivofoto = new File(caminhofoto);
intentCamera.putExtra(MediaStore.EXTRA_OUTPUT,FileProvider.getUriForFile(getApplicationContext(),BuildConfig.APPLICATION_ID +".provider",arquivofoto));
startActivityForResult(intentCamera, CAMERA_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == CAMERA_CODE && resultCode == Activity.RESULT_OK){
Bitmap bitmap = BitmapFactory.decodeFile(caminhofoto);
Bitmap reduzido = Bitmap.createScaledBitmap(bitmap,300,300,true);
campofoto.setImageBitmap(reduzido);
campofoto.setScaleType(ImageView.ScaleType.FIT_XY);
}
}
Consigo acessar a câmera, tiro a foto normal, mas depois que volto para a Activity do formulário ela n aparece no meu ImageView, detalhe ela fica salva normalmente na minha galeria. Estou usando o android 7.