Erro ao tentar localizar arquivo em app Android

Olá, estou com dificuldades para mexer com o FileProvider.

O arquivo chega a ser criado pois verifiquei manualmente nos diretórios. Coloquei alguns logs pra ver o que acontece mas mesmo assim não consigo entender porque ele não encontra

Eu gero um PDF mas não consigo abrí-lo logo em seguida. Segue abaixo o código.

AndroidManifest.xml

 <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="${applicationId}.provider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/filepaths" />
        </provider>

filepaths.xml

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

criação do arquivo pdf

File docsFolder = new File(Environment.getExternalStorageDirectory()+"/compras");
        if (!docsFolder.exists()) {
            docsFolder.mkdir();
            Log.i(TAG, "Created a new directory for PDF");
        }

        comprovante = new File(docsFolder.getAbsolutePath(),"comprovante.pdf");

Tentativa de carregar o arquivo

    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    Uri uri = FileProvider.getUriForFile(ComprasComprovanteActivity.this, BuildConfig.APPLICATION_ID + ".provider",comprovante);

O erro

Failed to find configured root that contains /storage/emulated/0/compras/comprovante.pdf

Olá a todos. Só pra avisar que já resolvi o problema.
Era necessário adicionar dois atributos ao intent

    intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
    intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);