Salvar imagem em um cadastro simples (Android Studio)

6 respostas
B

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)

6 Respostas

D

posta o código pra dar pra entendermos melhor

B

Segue o código:

<a class="mention" href="/u/override">@Override</a>

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)
);

JulioCesarSF

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

B

sim

JulioCesarSF

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

B

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

Mto obrigado Julio.

Criado 13 de abril de 2017
Ultima resposta 19 de abr. de 2017
Respostas 6
Participantes 3