我的minSdkVersion是16,我希望获得所有存储(包括内部和外部)和绝对路径。
绝对路径可能就像/ storage / sdcard0 /,我该怎么办?谢谢!
答案 0 :(得分:1)
您可以阅读内核导出文件/proc/mounts
以获取设备上已安装文件系统的完整列表。 /proc/mounts
的秒列是已安装的点。
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(new FileInputStream("/proc/mounts")));
List<String> mountPoints = new ArrayList<>();
String l;
while ((l = reader.readLine()) != null) {
String p = l.split("\\s+")[1];
if (p != null && p.startsWith(File.separator)) {
mountPoints.add(p);
}
}
Log.d(TAG, "all mount absolute points " + Arrays.toString(mountPoints.toArray()));
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}