Utilizando apenas o recurso da câmera mostrado na aula do curso, ao tirar uma foto o retorno vem informando que o caminho da foto é nulo, sendo que ao visualizar no log o caminho existe.
Permissões:
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
public static final int CODIGO_CAMERA = 567;
private String caminhoFoto;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_send__email);
Button camera = (Button) findViewById(R.id.camera);
camera.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intentCamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
caminhoFoto = getExternalFilesDir(null) + "/" + System.currentTimeMillis() + ".jpg";
File arquivoFoto = new File(caminhoFoto);
intentCamera.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(arquivoFoto));
startActivityForResult(intentCamera, CODIGO_CAMERA);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == Activity.RESULT_OK){
if(requestCode == CODIGO_CAMERA){
carregaImagem(caminhoFoto);
}
}
}
private void carregaImagem(String caminhoFoto) {
Bitmap bitmap = BitmapFactory.decodeFile(caminhoFoto);
Bitmap bitmapReduzido = Bitmap.createScaledBitmap(bitmap, 300,300, true);
LinearLayout lista = (LinearLayout) findViewById(R.id.previewFoto);
ImageView foto = new ImageView(this);
foto.setImageBitmap(bitmapReduzido);
foto.setScaleType(ImageView.ScaleType.FIT_XY);
lista.addView(foto);
}
O erro: java.lang.RuntimeException: Unable to resume activity {Package.com.test/Package.com.test.Send_Email}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=567, result=-1, data=null} to activity {Package.com.test/Package.com.test.Send_Email}: java.lang.NullPointerException: println needs a message