获取Android 4.3中的外部存储列表

获取Android 4.3中的外部存储列表,第1张

概述我一直在扫描/etc/vold.fstab以获取外部存储列表.它在Google 4.3删除文件之前一直运行良好.我知道现在使用统一的/fstab.*文件但没有root就无法访问. 所以在Android 4.3中,我该怎么做才能获得外部存储列表? 我的代码看起来像这样.现在它包括不可移动的内部和可移动外部存储. File voldFile = new File("/system/etc/vold.f 我一直在扫描/etc/vold.fstab以获取外部存储列表.它在Google 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 4.3中的外部存储列表全部内容,希望文章能够帮你解决获取Android 4.3中的外部存储列表所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1125003.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存