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