从档案中打开文件,无需临时提取

从档案中打开文件,无需临时提取,第1张

从档案中打开文件,无需临时提取

原则上,您可以创建一个

ContentProvider
服务的
ZipInputStream

在这个示例项目中,我演示了如何创建一个

ContentProvider
支持
openFile()
,该支持使用创建的管道
ParcelFileDescriptor.createPipe()
来提供文件。
createPipe()
返回
ParcelFileDescriptors
表示管道末端的一对(两个元素的数组)。您可以使用数组中的第二个元素通过进行写入
OutputStream
openFile()
返回数组中要由Android传递给调用过程的第一个元素。呼叫者
openInputStream()
用来读取通过管道传输的内容。

在我的情况下,我正在发送一种资产,该资产上有一个

InputStream
via
AssetManager
。在您的情况下,您可以使用
ZipInputStream

请注意,我的样例项目假定它正在具有PDF查看器的设备上运行,因为它在没有资源的情况下提供PDF并尝试通过打开

startActivity()



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5427026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存