4

我想在我的应用程序中获取外部和内部存储。我正在使用此代码

Scanner scanner = new Scanner(new File("/etc/vold.fstab"));

            while (scanner.hasNext()) {
                String line = scanner.nextLine();
                if (line.toLowerCase().contains("dev_mount")) {
                    if (line.toLowerCase().contains("nonremovable")) {
                        VoldMounts.put(line.split(" ")[2],true);
                    }else {
                        VoldMounts.put(line.split(" ")[2],false);
                    }
                }
            }

它在 Android 4.2.2 及更低版本上运行良好,但在 Android 4.3 上,文件更改为/fstab.<device>并且此文件需要 root 访问权限。如何在不需要 root 访问权限的情况下读取 fstab?我不想使用 /proc/mount。

谢谢。

4

1 回答 1

2

这里有一些官方信息确认“对于Android 4.3及更高版本,init、vold和recovery使用的各种fstab文件统一在/fstab.文件中”。由于该文件具有-rw-r----- root root权限,因此无法从非 root 设备上的应用程序中读取它。

于 2013-10-10T08:19:41.467 回答