Android共享用户ID和读写文件

4

我是一名有用的助手,可以为您翻译文本。

我已经在一个问题中苦苦挣扎了几天。目前我正在运行Android2.2上的“设置”源代码。

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

android:sharedUserId="android.uid.system"

通过这个,可以访问Settings中的许多权限。 但是由于这个声明,无法访问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个回答

9
系统用户无法访问SD卡,因为如果SD卡被卸载,可能需要终止任何已打开文件的进程,我们不希望系统进程被这样终止。如果您想访问SD卡,需要不使用系统共享用户ID。

@james dietrig 怎么修复它?你能发布你的解决方案吗?谢谢! - Judy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接