Android - 如何隐藏内部/外部存储中的文件?

标签 android performance local-storage hidden-files

我想将video/audio/pdf文件隐藏在Android的内部/外部存储中。我们的要求是使文件仅在我们的 Android 应用程序中可见,但在 Es File Explorer 等任何其他应用程序中不可见,甚至在将设备连接到台式机/笔记本电脑<时也不可见。/.

我在谷歌上搜索了很多,发现了以下方法,但没有什么缺点。

创建带有前缀“.”的文件夹/文件 - 它的缺点是我们无法通过选项“显示隐藏文件”阻止它在某些文件资源管理器应用中可见>”并且我们无法阻止连接到台式机/笔记本电脑时显示文件。

将文件存储在应用程序特定文件夹内 - 将大内存文件存储在android.Content.Context.getFilesDir()返回的路径中会导致设备性能较差,并且大多数设备不会有很大的内存。

如何克服这些缺点,使我们的应用能够满足要求?

最佳答案

不加密的话,不建议将文件隐藏到用户可访问的存储中。

Youtube、Gaana、saavan、hotstar 所有这些媒体相关应用程序都用于加密其数据并存储在用户可见的数据位置,但由于数据已加密,因此他们无法以其他方式共享或使用。

您可以使用CipherOutputStreamCipherInputStream用于android中文件的加密和解密。

有两种方法可以实现您的目标

下载文件并加密它,当您想播放该文件时,将其解密到临时文件中并播放它,我不建议这样做,因为它会增加数据抓取的机会。

如果您想即时播放加密文件(不在临时文件中解密),那么您可以使用 Libmedia图书馆。它在本地主机上流式传输加密文件并从那里播放

原答案:https://stackoverflow.com/a/35426842/9565955

关于Android - 如何隐藏内部/外部存储中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49829533/

相关文章:

java - 改变方向 Android 设备

java - 为什么首选在条件语句中避免使用 Real domain (double/float)?

c++ - 优化 “coincidence search”算法以提高速度

javascript - html5 本地存储只在首页返回值,其他页面不返回值

javascript - 单击按钮时添加或清除 localStorage 并在 html 中显示值

java - 如何使用 Android 版 Picasso 设置 cookie?

android - 如何将 Gallery 中的图像显示到 ImageView?

php - android webview 内的链接被打开两次

visual-studio - 通过远程桌面的 VS 2008 SP1 : Constant Repainting?

javascript - 如何使用本地存储将我的输入框值存储到另一个输入框