安卓扫描可移动SD卡中的所有音频文件



我正在尝试扫描SD卡中的所有音频文件。这是负责此的代码片段。但它只从内部存储返回文件,而不是从可移动SD卡返回文件。

{..
final ArrayList<File> mySongs = findSongs(Environment.getExternalStorageDirectory());  
..}
public ArrayList<File> findSongs(File root) {
ArrayList<File> al = new ArrayList<>();
File[] files = root.listFiles();
for (File singleFile : files) {
if (singleFile.isDirectory() && !singleFile.isHidden()) {
al.addAll(findSongs(singleFile));
} else {
if (singleFile.getName().endsWith(".mp3")||singleFile.getName().endsWith(".m4a")||singleFile.getName().endsWith(".wav")) {
al.add(singleFile);
}
}
}
return al;
}

您是否使用读取外部存储的权限?

此外,Environment.getExternalStorageDirectory(( 如果未挂载 SDcard,则返回内部存储目录。

如果当前未使用,请尝试使用以下权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

最新更新