Boa tarde ,
Meu código está aparecendo o seguinte erro
E/AndroidRuntime: FATAL EXCEPTION: main
Process: br.com.senai.agenda, PID: 7414
android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/br.com.senai.agenda/files/1521141232753.jpg exposed beyond app through ClipData.Item.getUri()
at android.os.StrictMode.onFileUriExposed(StrictMode.java:1960)
Esse é meu código
public class FormularioActivity extends AppCompatActivity {
public static final int CODIGO_CAMERA = 567;
private Button botaoCadastrar;
private String caminhoFoto;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formulario);
botaoCadastrar = findViewById(R.id.btnCadastrar);
final FormularioHelper helper = new FormularioHelper(this);
Intent intent = getIntent();
Contato contato = (Contato) intent.getSerializableExtra("contato");
if(contato != null){
helper.preecheFormulario(contato);
}
Button botaoFoto = helper.botaoFoto;
botaoFoto.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intentCamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);// Chamando a camera
caminhoFoto = getExternalFilesDir(null)+ "/" + System.currentTimeMillis() + ".jpg"; //definindo o caminho e nome do arquivo salvo
File arquivoFoto = new File(caminhoFoto);// criando arquivo
intentCamera.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(arquivoFoto));//armazenando na intent para recebermos
startActivityForResult(intentCamera, CODIGO_CAMERA);
}
});
botaoCadastrar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Contato contato = helper.pegaContato();
ContatoDAO dao = new ContatoDAO(FormularioActivity.this);
if(contato.getId() != null){
dao.alterar(contato);
}else {
dao.inserir(contato);
}
dao.close();
Toast.makeText(getApplicationContext(),"Contato: "+contato.getNome(), Toast.LENGTH_LONG).show();
finish();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CODIGO_CAMERA){
//ABRIR A FOTO QUE TIRAMOS
ImageView foto = findViewById(R.id.formulario_foto);
Bitmap bitmap = BitmapFactory.decodeFile(caminhoFoto);
Bitmap bitmapReduzido = Bitmap.createScaledBitmap(bitmap, 300,300, true);
foto.setImageBitmap(bitmapReduzido);
foto.setScaleType(ImageView.ScaleType.FIT_XY);
}
}
}
Alguém poderia me ajudar na resolução do meu problema?