Ao usar o provedor de arquivos Android, os arquivos não têm permissões corretas, apesar de FLAG_GRANT_WRITE_URI_PERMISSION ser sinalizado na intenção
Estou tentando carregar documentos de arquivos no meu aplicativo usando os visualizadores do Microsoft Word e PDF e estou usando um FileProvider para lidar com o Android 7.0+, não permitindo que os URIs de arquivos sejam transmitidos livremente. Eu obtenho o URI dessa forma e defino os sinalizadores de Intenção para permitir leitura e gravação antes de abri-lo, da seguinte forma:
// 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);
No entanto, quando o arquivo é carregado no MS Word, o arquivo é somente leitura e não pode ser editado, o que não é o comportamento desejado. Onde eu estou errando?