I am working on a mp3 player app, which plays .mp3 files present anywhere inside an internal SD card.
I have used the following codes to fetch the .mp3 files present in internal storage.
ArrayList<File> inFiles = new ArrayList<File>();
File list[] = file.listFiles();
//Log.i("DIR", "PATH" +file.getPath());
for (int i = 0; i < list.length; i++)
{
// myList.add( list[i].getName() );
File temp_file = new File(file.getAbsolutePath(),list[i].getName());
//Log.i("DIR", "PATH" +temp_file.getAbsolutePath());
if (temp_file.listFiles() != null)
{
//Log.i("inside", "call fn");
listfiles(temp_file);
}
else
{
if (list[i].getName().toLowerCase().contains(".mp3"))
{
inFiles.add(list[i]);
//Log.e("Music", list[i].getName());
}
}
}
How do I similarly get the .mp3 files from external SD card as well?
Trying using this:
That will get you the root of the external storage, provided that there is one. Then you can filter out files that aren’t .mp3
Also consider looking at this: List all of one file type on Android device?