原则上,您可以创建一个
ContentProvider服务的
ZipInputStream。
在这个示例项目中,我演示了如何创建一个
ContentProvider支持
openFile(),该支持使用创建的管道
ParcelFileDescriptor.createPipe()来提供文件。
createPipe()返回
ParcelFileDescriptors表示管道末端的一对(两个元素的数组)。您可以使用数组中的第二个元素通过进行写入
OutputStream;
openFile()返回数组中要由Android传递给调用过程的第一个元素。呼叫者将
openInputStream()用来读取通过管道传输的内容。
在我的情况下,我正在发送一种资产,该资产上有一个
InputStreamvia
AssetManager。在您的情况下,您可以使用
ZipInputStream。
请注意,我的样例项目假定它正在具有PDF查看器的设备上运行,因为它在没有资源的情况下提供PDF并尝试通过打开
startActivity()。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)