【发布时间】:2015-03-06 19:34:02
【问题描述】:
当我将文件写入 sdcard 时,它会以 -rw-rw---- 权限和所有者为 root 写入文件。我遵循了文件写入权限的 android 指南,但它没有说明以 root 身份写入文件。我需要能够使用 android 文件管理器打开此文件,但由于我没有 root 权限,因此没有权限。 这是输出文件的代码:
File file = getExternalStorageDirectory();
File sim = new File(file, "Driving Sim App/");
sim.getParentFile().mkdirs();
sim = new File(sim, name+".csv");
try {
BufferedWriter bor = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(sim)));
bor.write("This is a test");
bor.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
return;
} catch (IOException e) {
e.printStackTrace();
}
我的清单文件中也有这个:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
您的文件权限似乎反映了所涉及的 fuse 守护程序的正常和正确行为。在外部存储上没有真正意义上的每个包文件的所有权,而是适当的 unix 组的成员身份(根据清单权限),这应该允许从中间权限集进行访问,在您的情况下是 rw-。更高版本中的 per-package 目录添加了权限综合作为额外的可能性。
标签: android android-file android-permissions