2
respostas

Diferença entre versões

Pesquisei aqui no fórum e não consegui de maneira alguma. Meu código é o abaixo:

Button botaoFoto = findViewById(R.id.formulario_botao_foto);
        botaoFoto.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intentCamera = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            String caminhoFoto = getExternalFilesDir(null)+ "/foto.jpg";
            File arquivoFoto = new File(caminhoFoto);
            intentCamera.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(arquivoFoto));
            startActivity(intentCamera);
        }
    });

Na ajuda da aula após o vídeo é passada a informação para fazer algumas alterações em Android 7 ou superior. Adicionei a tag PROVIDER no Manifest. Criei o provider_paths.xml e quando copiei o código apresentado por último:

class MainActivity extends AppCompatActivity {

    private String caminhoFoto;

    public void tiraFoto() {
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        caminhoFoto = getExternalFilesDir(null) + "/" + System.currentTimeMillis() + ".jpg";
        File arquivoFoto = new File(caminhoFoto);

        // essa parte muda no Android 7, estamos construindo uma URI 
        // para acessar a foto utilizando o FileProvider 
        intent.putExtra(MediaStore.EXTRA_OUTPUT, 
            FileProvider.getUriForFile(this, 
                BuildConfig.APPLICATION_ID + ".provider", arquivoFoto));


        startActivityForResult(intent, 123);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == 123 && resultCode == Activity.RESULT_OK) {
            Bitmap bitmap = BitmapFactory.decodeFile(caminhoFoto);
            Bitmap bitmapReduzido = bitmap.createScaledBitmap(bitmap, 150, 150, true);
            campoFoto.setImageBitmap(bitmapReduzido);
            campoFoto.setTag(caminhoFoto);
        }
    }
}

No final desse código há o erro: Error:(68, 17) error: cannot find symbol variable campoFoto

2 respostas

Outra dúvida. Vi nas perguntas aqui que os usuários conseguem colocar seus códigos bem arrumados como no console. Como faço dessa forma? Obrigado.

Felipe, tudo bem ?

Cara você está tratando o resultado no local errado :(

Você precisava tratar no helper, onde os campos da tela existem...