1

以下のコードを使用すると、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;
}
4

1 に答える 1

0

最初にSDカードで利用可能な空き容量を見つけることをお勧めします。このドキュメントを読んでください http://developer.android.com/reference/android/os/StatFs.html

于 2013-08-02T08:51:35.517 に答える