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

时间:2017-07-27 13:02:51

标签: android

我正在尝试扫描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;
}

1 个答案:

答案 0 :(得分:-1)

您是否正在使用读取外部存储空间的权限?

如果未安装SD卡,Environment.getExternalStorageDirectory()也会返回内部存储目录。

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

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
相关问题