Я работаю над функцией, при которой мое приложение будет загружать файлы с сервера, а затем разрешать пользователю открывать эти файлы во внешних сторонних приложениях (при условии, что у пользователя установлены приложения, которые могут просматривать типы файлов).
Файлы загружаются и хранятся в виде байтовых массивов с некоторыми сопутствующими метаданными, которые включают тип MIME и расширение файла.
Пользовательский ContentProvider
кажется очевидным путем, поскольку мое приложение должно сохранятьконтроль над загруженными файлами - т.е. доступ из других приложений должен быть только для чтения, и мое приложение должно контролировать, если / когда файлы будут удалены.
Когда дело доходит до реализации моего пользовательского ContentProvider
, янепонятно о нескольких вещах.Учебники, на которые я смотрел, только касались совместного использования данных между двумя
- Достаточно ли просто переопределить и реализовать
openFile()
и реализовать query()
, insert()
и т. Д. КакМетоды-заглушки «ничего не делать»? - Предполагая, что реализация
openFile()
- это путь, как я могу подойти к созданию ParcelFileDescriptor
из байтового массива?
Примечание:Если это вообще возможно, мне нужно полностью поддерживать API до уровня 3 (Cupcake).