我正在尝试使用以下代码从SD卡写入/读取:
try {
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard,INITIAL_FILE_NAME);
if (!file.exists()) {
file.createNewFile();
}
}
catch (IOException e) {
Log.e("TAG",e.getMessage());
}
在清单中我给予以下许可:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
但是在尝试阅读时,我遇到以下异常:
open failed: EACCES (Permission denied)
我正在使用
提供我的应用系统权限(用于其他所需任务) android:sharedUserId = "android.uid.system"
当我删除权限时,我可以访问SD卡。由于某种原因,系统权限与sdcard的读/写冲突相冲突。
有人可以告诉我这背后的原因吗?有没有办法管理它们?
答案 0 :(得分:0)
在请求卸载SD卡后继续保持打开文件夹的进程将被终止,以便可以卸载。
我们不希望系统进程能够访问SD卡以避免这些问题(以及一般的安全清洁度),因此它无权访问它。
如果要访问SD卡,则不应使用系统共享用户ID。