无法使用ExternalStorageDirectory获取文件

时间:2013-08-02 08:48:36

标签: android file listview android-sdcard

我发现当我使用下面的代码时,它适用于AVD,但是当我在物理设备或Bluestacks上打开它时 - 列表是空的,即使音乐文件在SD卡上。谁知道发生了什么?

而且,如果你知道如何让它从内存中读取文件我会很感激,因为我发现 - 很多手机都有很大的内存容量而他们不使用SD卡(有些甚至不能)。

以下是代码:

static Uri[] mUris;
static String[] mFiles = null;
public static String[] getMusic(){

    File music = Environment.getExternalStorageDirectory();

    // File asd = Environment.

    // String[] savedFiles = getApplicationContext().fileList();

    File[] musicList = music.listFiles(new FilenameFilter() {

        @Override
        public boolean accept(File dir, String name) {
            // TODO Auto-generated method stub
            return ((name.endsWith(".mp3")||(name.endsWith(".wav"))));
        }
    });

    mFiles = new String[musicList.length];
    for(int i=0; i<musicList.length;i++) {
        mFiles[i]=musicList[i].getAbsolutePath();
    }

    return mFiles;
}

1 个答案:

答案 0 :(得分:0)

  

我建议你先找一张sd卡上的免费空间   阅读本文档可能对您有所帮助   http://developer.android.com/reference/android/os/StatFs.html