2012-02-17 53 views
4

我想使对外部存储器的文件夹(可以是SD卡上),私有或保护的,只有我的应用程序/进程可以访问该文件夹。安卓:使外部存储器上的文件夹私有或受保护

我可以这样做吗?如果有,请让我知道?

我的要求: 我可以使用Android的内置存储器来存储我的应用程序的文件/数据,但可能会降低手机的内部存储器(那可能会导致像没有其他的应用程序安装空间不足等问题)

回答

0

由于API 9你有为此

File.setWritable(boolean, boolean)

,也为read/exec的操作。看看到链接

+0

谢谢,但我有一个从API 7起支持。 – 2012-02-17 19:19:47

+0

我在这里有一个解决方案 - 如果我们可以在外部存储器上创建一个名称为“。”的文件夹。那么该文件夹不能被用户看到(例如:.myAppPrivateFolder),那么这就满足了我的要求。说啥!!! – 2012-02-17 19:21:52

+0

用户无法看到该文件夹​​,但该文件夹仍然存在......恕我直言,这是没办法..但似乎没有解决设置权限,因为API 9级文件夹..所以尝试隐藏文件夹,并希望最好:) – Blackbelt 2012-02-19 18:08:09

0

引述的Android文档:

public abstract File getExternalFilesDir (String type)

自:API级别8返回的绝对路径上 外部文件系统的目录(即在 环境某处.getExternalStorageDirectory()),应用程序可以在其中放置它拥有的持久性文件 。

这些文件是私有的 应用程序,而不是通常给用户的媒体可见。这是 像getFilesDir()中,当 卸载应用程序,这些文件将被删除[...]

来源:http://developer.android.com/reference/android/content/Context.html#getExternalFilesDir(java.lang.String)

所以基本上你会得到一个私人(八九不离十)文件夹你的SD卡。

使用此结合黑带的答案更好的效果。

+0

您错过了文档中的一个重要事实:_这些文件没有执行安全性。例如,任何持有WRITE_EXTERNAL_STORAGE的应用程序都可以写入这些文件._ – OneWorld 2016-05-23 08:51:28

1

外部存储上的数据不能是私有的。它是世界上可读的,并且如果它们启用USB大容量存储器,则用户可以改变它。

从developer.android.com报价:

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

1

你cannot.You可以压缩文件夹和存储为传递措辞的zip文件。

+0

哇!超级酷哥,苏尼尔我们怎么能这样做?你可以请分享一些信息 – 2012-02-17 19:25:51

相关问题