我有一个内容提供程序,它实现openFile()
以返回大数据BLOB。这些是SD卡上的加密文件。我(显然)需要在离开内容提供商的途中解密数据,以便消费者可以使用它。
问题是openFile()
返回ParcelFileDescriptor
,这使我无法在出路时解密数据。对此有什么解决方案吗?
这当然引出了一个问题......如果我通过内容提供商打开数据,加密它的重点是什么?我想我的答案是,未加密的SD卡上的数据比通过内容提供商公开它的情况要差一些。
对此主题的任何想法或想法表示赞赏。
答案 0 :(得分:0)
回答我自己的问题......
没有明显的方法来解决这个问题。我最终创建了一段临时文件,在一段时间后会被删除。
我的第一次尝试是在打开文件后使用unix删除文件的技巧,导致文件在阅读器关闭后立即删除。事实证明,许多应用程序将从内容提供程序读取和重新读取数据,以进行单个逻辑打开。例如,gallery应用程序似乎首先以低分辨率读取数据,以便它可以快速显示,然后再次读取以全分辨率显示。