我想将video/audio/pdf
文件隐藏在Android的内部/外部存储中。我们的要求是使文件仅在我们的 Android 应用程序中可见,但在 Es File Explorer
等任何其他应用程序中不可见,甚至在将设备连接到台式机/笔记本电脑<时也不可见。/
.
我在谷歌上搜索了很多,发现了以下方法,但没有什么缺点。
创建带有前缀“.”的文件夹/文件 - 它的缺点是我们无法通过选项“显示隐藏文件
”阻止它在某些文件资源管理器应用中可见>”并且我们无法阻止连接到台式机/笔记本电脑
时显示文件。
将文件存储在应用程序特定文件夹内 - 将大内存文件
存储在android.Content.Context.getFilesDir()
返回的路径中会导致设备性能较差,并且大多数设备不会有很大的内存。
如何克服这些缺点,使我们的应用能够满足要求?
最佳答案
不加密的话,不建议将文件隐藏到用户可访问的存储中。
Youtube、Gaana、saavan、hotstar 所有这些媒体相关应用程序都用于加密其数据并存储在用户可见的数据位置,但由于数据已加密,因此他们无法以其他方式共享或使用。
您可以使用CipherOutputStream和 CipherInputStream用于android中文件的加密和解密。
有两种方法可以实现您的目标
下载文件并加密它,当您想播放该文件时,将其解密到临时文件中并播放它,我不建议这样做,因为它会增加数据抓取的机会。
如果您想即时播放加密文件(不在临时文件中解密),那么您可以使用 Libmedia图书馆。它在本地主机上流式传输加密文件并从那里播放
关于Android - 如何隐藏内部/外部存储中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49829533/