如何在安卓系统中隐藏SD卡中的文件夹

11

我正在开发一款Android应用程序,它在启动应用程序时创建了一些文件夹,其中包含图像、视频文件和子文件夹。我希望在创建时隐藏这些文件夹和文件,这样我们在设备上手动访问SD卡时就看不到这些文件夹。


你尝试过使用内部存储器吗? - Robert
谢谢建议,Robert。但在我的情况下,我必须使用外部存储器即SD卡。 - Himanshu
4个回答

15
如果你想在Android或任何基于Linux的系统中隐藏文件夹,只需将文件夹或文件名称前面添加 .即可。
但是,如果你将SD卡挂载到Windows机器上,则这些文件夹将被视为普通文件夹,并显示带有文件夹名称前面的 .

谢谢您的回复,它在Linux系统中运行良好。但是所有以前缀“.”的文件夹都会显示在Android设备中。我们能否为这些文件夹设置权限,以便除了root用户外,任何人都无法删除它们? - Himanshu
这完全取决于您使用的文件浏览器,当然您可以为您创建的所有文件夹设置权限,但高级用户仍然可以删除它们,而且它不是前缀而是后缀。 - ingsaurabh

6
所以,正如ingsaurabh正确所说,一个"."就足够了。如果一个文件名以它开始,大多数文件浏览器都不会显示该文件。但它并不是直接不可见的(例如,三星原生文件管理器有一项显示此类文件和文件夹的选项)。因此,您不能确定用户是否会看到这些文件,特别是如果用户使用不同的应用程序访问sd卡上的文件。

隐藏文件的唯一方法是使用内部存储,因为这些文件是私有的,只属于您的应用程序。然而,在内部存储中存储大量数据并不是一个好主意(这肯定会降低您的应用评级)。

遵循数据存储开发指南的指导方针非常重要,将数据保存到文件夹/Android/data/<package_name>/files/中,这是一个好习惯。


-1

1
虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。仅有链接的答案如果链接页面发生更改可能会变得无效。 - Tristan

-2
这个“.”点方法没有任何安全性。因为你不能使用任何密码来解锁它。任何用户都可以显示隐藏文件并通过删除“.”符号来解锁它。因此,您可以使用免费文件隐藏应用程序来保护您的隐私。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接