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

Mus*_*rer 4 android file

我好几天都遇到了一个问题.目前我在Android2.2的"设置"源代码中运行.

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

android:sharedUserId="android.uid.system"
Run Code Online (Sandbox Code Playgroud)

这样,可以在"设置"中访问活动的许多权限.但是有了这个声明,sd卡无法访问读/写,我试图读取目录中的文件

File f = new File("/mnt/sdcard/"+filename);
Run Code Online (Sandbox Code Playgroud)

要么

File f = new File("/sdcard/"+filename);
Run Code Online (Sandbox Code Playgroud)

但所有这些都不起作用,我得到一个异常告诉我文件不存在(我已经把文件放在那里).

如果我删除android:sharedUserId="android.uid.system",那么我可以成功访问该文件.但是,我需要android:sharedUserId="android.uid.system" 让其他活动运行良好.

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

hac*_*bod 9

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