Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Exception ao tentar tirar a Foto

Olá, Estou utilizando um Android com a API 24 e ao realizar a chamada para tirar a foto recebo FileUriExposedException.

https://developer.android.com/reference/android/os/FileUriExposedException.html

A documentação informa que ao invés de utilizar o putExtra com o file eu deveria enviar com em um formato diferente (contents) que desta forma dou permissão temporaria ao App de Foto para acessar o caminho da minha App para gravar aquele arquivo.

Como faço este putExtra que a documentação informa?

Encontrei no Link: https://developer.android.com/training/camera/photobasics.html#TaskPath o Exemplo:

            Uri photoURI = FileProvider.getUriForFile(this,
                                                  "com.example.android.fileprovider",
                                                  photoFile);
            takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);

Mas ele informa que é necessário fazer alguns ajustes no Manifesto:

<application>
   ...
   <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="com.example.android.fileprovider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_paths"></meta-data>
    </provider>
    ...
</application>

Onde na tag meta-data ele define um resource e exemplifica o mesmo:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path name="my_images" path="Android/data/com.example.package.name/files/Pictures" />
</paths>

Ainda não realizei os testes, mas esta é a forma correta? ou existe outra maneira para resolver este exception?

2 respostas
solução!

Me adiantei no código as atividades posteriores, o instrutor passou o exemplo correto na atividade do link:

https://cursos.alura.com.br/course/android-studio-ii-integracoes-e-recursos/task/23374

Grato.

Opa Felipe,

Que bom que você conseguiu resolver! Se tiver mais alguma dúvida não deixe de nos mandar!

Abraço!