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

时间:2012-02-17 12:42:59

标签: android memory directory external private

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

我可以这样做吗?如果是的话请告诉我?

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

4 个答案:

答案 0 :(得分:1)

有关外部存储的数据不能是私有的。它具有世界可读性,如果用户启用USB海量存储,则可以更改。

引自developer.android.com:

  

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

自从API 9以来,您就拥有了

File.setWritable(boolean, boolean)

以及read / exec操作。看一下链接

答案 3 :(得分:0)

来自android docs:

  

public abstract File getExternalFilesDir (String type)

     

从以下版本开始:API Level 8返回目录上的绝对路径   外部文件系统(就在某处   Environment.getExternalStorageDirectory())应用程序可以在哪里   放置它拥有的持久文件。

     

这些文件是私有的   应用程序,通常不会被用户视为媒体。这是   像getFilesDir()一样,这些文件将被删除   应用程序已卸载[...]

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

所以基本上你会在你的SD卡中找到一个私人(sorta)文件夹。

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