gpt4 book ai didi

android - 在 Android 4.3 中获取外部存储列表

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:16 25 4
gpt4 key购买 nike

我一直在扫描/etc/vold.fstab 以获取外部存储列表。在谷歌删除该文件的 Android 4.3 之前,它工作正常。我知道现在使用了一个统一的/fstab.* 文件,但没有 root 是无法访问的。

那么在Android 4.3中,如何获取外部存储列表呢?

我的代码看起来像这样。现在它包括不可移动的内部和可移动的外部存储。

File voldFile = new File("/system/etc/vold.fstab");

fr = new FileReader(voldFile);
br = new BufferedReader(fr);
String line = br.readLine();
while (line != null) {
if (line.startsWith("dev_mount")) {
String[] tokens = line.split("\\s");
File mountPoint = new File(tokens[2]);
if (mountPoint.isDirectory() && mountPoint.canRead())
list.add(tokens[2]);
}
line = br.readLine();
}

最佳答案

我最终扫描/proc/mounts 输出以查找当前安装的存储。代码类似于下面。

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
File voldFile = new File("/proc/mounts");

fr = new FileReader(voldFile);
br = new BufferedReader(fr);
String line = br.readLine();
while (line != null) {
Log.d(TAG, line);
if (line.startsWith("/")) {
String[] tokens = line.split("\\s+");
if ("vfat".equals(tokens[2])) {
File mountPoint = new File(tokens[1]);
if (!tokens[1].equals(defaultMount))
if (mountPoint.isDirectory() && mountPoint.canRead())
list.add(tokens[1]);
}
}
line = br.readLine();
}
}

关于android - 在 Android 4.3 中获取外部存储列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18560192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com