1

我有一个实现openFile()返回大数据 BLOB 的内容提供程序。这些是 SD 卡上的加密文件。我(显然)需要在离开内容提供者的路上解密数据,以便消费者可以使用它。

问题是openFile()返回 a ParcelFileDescriptor,这让我没有机会在出路时解密数据。有什么解决办法吗?

这当然引出了一个问题……如果我通过内容提供商打开数据,那么加密它的意义何在?我想我的回答是,将未加密的数据放在 SD 卡上比通过内容提供商公开数据要差一些。

4

1 回答 1

0

没有明显的方法可以解决这个问题。我最终创建了一个临时文件,该文件在一段时间后被删除。

我的第一次尝试是使用 Unix 在打开文件后删除文件的技巧,导致文件在被阅读器关​​闭后立即被删除。事实证明,许多应用程序会从内容提供程序读取和重新读取数据以进行单个逻辑打开。例如,图库应用程序似乎首先以低分辨率读取数据,以便快速显示,然后再次读取以全分辨率显示。

于 2013-03-18T18:36:00.223 回答