Android:将外部内存上的文件夹设为私有或受保护

Android:将外部内存上的文件夹设为私有或受保护,android,memory,directory,external,private,Android,Memory,Directory,External,Private,我想将外部内存(可能在SD卡上)上的文件夹设置为私有或受保护,以便只有我的应用程序/进程可以访问该文件夹 我能做这个吗?如果是,请让我知道 我的要求: 我可以使用android的内部内存来存储我的应用程序的文件/数据,但这可能会减少手机的内部内存(这可能会导致诸如没有足够的空间安装其他应用程序等问题),因为API 9就是用于此目的的 以及读/执行操作。请查看android文档中的链接: 公共抽象文件getExternalFilesDir(字符串类型) 因为:API级别8返回到服务器上目录的绝对

我想将外部内存(可能在SD卡上)上的文件夹设置为私有或受保护,以便只有我的应用程序/进程可以访问该文件夹

我能做这个吗?如果是,请让我知道

我的要求:
我可以使用android的内部内存来存储我的应用程序的文件/数据,但这可能会减少手机的内部内存(这可能会导致诸如没有足够的空间安装其他应用程序等问题)

,因为API 9就是用于此目的的


以及读/执行操作。请查看android文档中的链接:

公共抽象文件getExternalFilesDir(字符串类型)

因为:API级别8返回到服务器上目录的绝对路径 外部文件系统(位于 getExternalStorageDirectory()),应用程序可以在其中 放置它拥有的持久文件

这些文件是用户的私有文件 应用程序,并且通常不作为媒体对用户可见。这是 与getFileDir()类似,这些文件将在 应用程序已卸载[…]

资料来源:

所以基本上你会在你的SD卡上得到一个私人文件夹


将此选项与Blackbelt的答案结合使用,可以获得更好的效果。

外部存储上的数据不能是私有的。它是全世界可读的,如果用户启用USB大容量存储,则可以对其进行更改

引自developer.android.com:

每个Android兼容设备都支持一个共享的“外部存储”,您可以使用它来保存文件。这可以是可移动存储介质(如SD卡)或内部(不可移动)存储器。保存到外部存储器的文件是世界可读的,当用户启用USB大容量存储器在计算机上传输文件时,可以对其进行修改


您不能。您可以压缩文件夹并以密码压缩文件的形式存储。

谢谢,但我必须从API 7开始提供支持。我这里有一个解决方案——如果我们可以在外部内存上创建一个名称以“.”开头的文件夹,则该文件夹对用户不可见(例如:.myAppPrivateFolder),那么这就满足了我的要求。你说什么!!!用户无法看到该文件夹,但该文件夹仍然存在。。。我认为这不是一个解决办法。。但从api 9开始,似乎并没有为文件夹设置权限的解决方案。。因此,请尝试隐藏该文件夹,并期待最好的结果:)如果用户没有权限更改此抽象路径名的访问权限,则操作将失败。这仅适用于自行创建的文件。@OneWorld文档中说明了这一点。有什么不对劲吗?哇!超级酷,苏尼尔我们怎么能做到?你能分享一些信息吗?你错过了文档中的一个重要事实:这些文件没有强制的安全性。例如,任何持有WRITE_外部存储的应用程序都可以写入这些文件。