外部ストレージのリストを取得するために /etc/vold.fstab をスキャンしています。Googleがファイルを削除したAndroid 4.3までは正常に動作します。統合された /fstab.* ファイルが使用されるようになりましたが、ルートなしではアクセスできません。
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();
}