android共享用户ID和读/写文件

时间:2011-04-11 06:56:08

标签: android file

我在一个问题上遭受了好几天的痛苦。 目前我在Android2.2的“设置”源代码中运行。

在AdroidMenifest.xml中,我们可以看到:

android:sharedUserId="android.uid.system"

使用此功能,可以访问“设置”中的活动的许多权限。 但是有了这个声明,sd卡无法进行读/写,我试图读取目录中的文件

File f = new File("/mnt/sdcard/"+filename);

File f = new File("/sdcard/"+filename);

但是所有这些都不起作用,我得到一个例外,告诉我该文件不存在(我已将文件放在那里)。

如果我删除android:sharedUserId="android.uid.system",那么我可以成功访问该文件。但是,我需要android:sharedUserId="android.uid.system" 使其他活动顺利进行。

有没有人碰巧遇到同样的问题,你解决了吗?谢谢!

1 个答案:

答案 0 :(得分:9)

系统用户无法访问SD卡,因为如果SD卡被卸载,可能需要杀死任何打开文件的进程,我们不希望系统进程被杀死。如果要访问SD卡,则不需要使用系统共享用户ID。