在我的一个应用程序中,我正在访问SD卡中的一些文件。我正在使用以下函数来确定已安装的SD卡路径。
File file = new File("/system/etc/vold.fstab");
FileReader fr = null;
BufferedReader br = null;
String path = "";
try {
fr = new FileReader(file);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
if (fr != null) {
br = new BufferedReader(fr);
String s = br.readLine();
while (s != null) {
if (s.startsWith("dev_mount")) {
String[] tokens = s.split("\\s");
path = tokens[2]; //mount_point
}
s = br.readLine();
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (fr != null) {
fr.close();
}
if (br != null) {
br.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return path;
这适用于Kitkat之前的所有设备。但在Kitkat版本中,我在第1行得到 FileNotFoundException ,
File file = new File("/system/etc/vold.fstab");
我在Android kitkat版本中发现了很多关于更新sd卡权限的文章。但是仍然有点困惑... 请任何人帮我解决一下???提前谢谢......
答案 0 :(得分:0)
vold.fstab在4.3中不再使用。相反,fstab。现在在场。
尽管不是很清楚,但请参阅http://source.android.com/devices/tech/storage/
答案 1 :(得分:-1)
您必须致电:
File sdCardPath = Environment.getExternalStorageDirectory();
知道SD卡的路径。该函数调用调用系统的操作功能,确定SD卡的路径。要了解外部存储的状态,您必须使用
Environment.getExternalStorageState()
功能