官方方法Environment.getExternalStorageDirectory()似乎无法在三星设备上运行...
它返回"/ sdcard /"而不是真正的路径"/ sdcard/external_sd /",你可以参考以下帖子
是否有其他方法可以检测外部实际存储路径并适用于所有设备?或者只是教我如何避免这个问题?
谢谢.
小智 9
我希望下面的代码是有用的.该代码找到可移动外部存储(即SD卡)的路径.
File file = new File("/system/etc/vold.fstab");
FileReader fr = null;
BufferedReader br = null;
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
if (!Environment.getExternalStorageDirectory().getAbsolutePath().equals(path)) {
break;
}
}
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();
}
}
Run Code Online (Sandbox Code Playgroud)
你不能尝试这样的事情:
String url = Environment.getExternalStorageDirectory();
if(android.os.Build.DEVICE.contains("Samsung") || android.os.Build.MANUFACTURER.contains("Samsung")){
url = url + "/external_sd/";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14275 次 |
| 最近记录: |