Salvar imagem em um cadastro simples (Android Studio)

Estou querendo atribuir uma imagem em um cadastro que estou criando no android studio.

Segue o retorno do erro do Logcat.

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example, PID: 3552
java.lang.NullPointerException: Attempt to invoke virtual method ‘android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)’ on a null object reference
at android.support.v4.content.FileProvider.parsePathStrategy(FileProvider.java:583)
at android.support.v4.content.FileProvider.getPathStrategy(FileProvider.java:557)
at android.support.v4.content.FileProvider.getUriForFile(FileProvider.java:399)
at com.example.CadastroClienteActivity$3.onClick(CadastroClienteActivity.java:88)
at android.view.View.performClick(View.java:4780)
at android.view.View$PerformClick.run(View.java:19866)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

posta o código pra dar pra entendermos melhor

Segue o código:

@Override
public void onClick(View v) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

            if (intent.resolveActivity(getPackageManager()) != null) {
                startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);
            }


            pathPhoto = getExternalFilesDir(null) + "/" + System.currentTimeMillis() + ".jpg";
            File arquivoFotoCliente = new File(pathPhoto);

            intent.putExtra(MediaStore.EXTRA_OUTPUT,
                    FileProvider.getUriForFile(CadastroClienteActivity.this,
                            BuildConfig.APPLICATION_ID + ".provider", arquivoFotoCliente));

            startActivityForResult(intent, 123);
        }
    });

O erro ocorre na linha:

FileProvider.getUriForFile(CadastroClienteActivity.this,
BuildConfig.APPLICATION_ID + “.provider”, arquivoFotoCliente));

Você quer tirar uma foto com a câmera e colocar ela em um ImageView?

sim

Dá uma olhada aqui: https://developer.android.com/training/camera/photobasics.html

Deu certo!!!
O problema estava na versão do provider.

Mto obrigado Julio.

1 curtida