Я столкнулся со следующей проблемой:
Я создал приложение, в котором пользователь может хранить свои личные файлы, и мне нужно передать эти файлы в программы просмотра по умолчанию (например, PDFViewer).
Проблема в том, что файлы являются личными, и PDFViewer не имеет доступа к моим файлам. Я решил эту проблему, используя подход, который используется в почтовых клиентах - я создал контент-провайдера, где я возвращаю ParcelFileDescriptor.
Теперь это прекрасно работает, но я столкнулся с новой проблемой - в документации сказано, что мне нужно использовать флаг Intent.FLAG_GRANT_READ_URI_PERMISSION
, когда я передаю URI в PDFViewer, но в моем случае он работает хорошо даже без этого флага и даже с "android: grantUriPermissions = "ложь" "
Похоже, теперь мои файлы стали не приватными из-за провайдера контента.
Как заставить почтить Intent.FLAG_GRANT_READ_URI_PERMISSION
флаг?