Cuando se utiliza el proveedor de archivos de Android, los archivos no tienen los permisos correctos a pesar de que FLAG_GRANT_WRITE_URI_PERMISSION se haya marcado en la intención

Estoy tratando de cargar documentos de archivos en mi aplicación usando Microsoft Word y visores de PDF y estoy usando un FileProvider para manejar Android 7.0+ que no permite que los URI de archivos se pasen libremente. Obtengo el URI así y configuro los indicadores de intención para permitir leer y escribir antes de abrirlo, así:

// From the byte array create a file containing that data, and get extension and MIME type.
                File fileToOpen = byteArrayToFile(documentData, shortFileName);
                String fileExtension = UtilityMethods.getFileExtension(fileToOpen.getName());
                String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileExtension);

                // Get the Uri for the file from the file provider, open using intent.
                Uri documentUri = FileProvider.getUriForFile(getContext(), "com.mycompany.provider", fileToOpen);
                Intent intent = new Intent();
                intent.setDataAndType(documentUri, mime);
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
                intent.setAction(Intent.ACTION_VIEW);
                startActivity(intent);

Sin embargo, cuando el archivo se carga en MS Word, el archivo es de solo lectura y no se puede editar, lo cual no es el comportamiento deseado. ¿A dónde voy mal?

Respuestas a la pregunta(0)

Su respuesta a la pregunta