Вы правы, просматривая все файлы в системе хранения, и хранение соответствующего файла - всегда тяжелая задача, чем доступ к системе, специально предназначенной для конкретной задачи. Доступ к MediaStore является рекомендуемым способом получения локальных мультимедийных файлов. Пожалуйста, ознакомьтесь с приведенным ниже кодом, выбранным на одной из страниц сообщества наших друзей
ContentResolver cr = getActivity().getContentResolver();
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String selection = MediaStore.Audio.Media.IS_MUSIC + "!= 0";
String sortOrder = MediaStore.Audio.Media.TITLE + " ASC";
Cursor cur = cr.query(uri, null, selection, null, sortOrder);
int count = 0;
if(cur != null)
{
count = cur.getCount();
if(count > 0)
{
while(cur.moveToNext())
{
String data = cur.getString(cur.getColumnIndex(MediaStore.Audio.Media.DATA));
int songId = cur.getColumnIndex(MediaStore.Audio.Media._ID);
int songTitle = cur.getColumnIndex(MediaStore.Audio.Media.TITLE);
// Add code to get more column here
// Save to your list here
}
}
}
cur.close();