No Android, como faço para consultar o MediaStore apenas para arquivos em um caminho específico? Ou, alternativamente, apenas exibir arquivos em um determinado caminho?

Suponha que eu tenho um bloco de código do Android que se parece com isso:

String[] proj = {MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media._ID};
int[] to = new int[] { R.id.artist_name };
Cursor musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, null, null, MediaStore.Audio.Media.ARTIST);
ListView musiclist = (ListView) findViewById(R.id.mylist);

SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.songitem, musiccursor, proj, to);
musiclist.setAdapter(mAdapter);

Mas o que eu quero, é o seguinte:

String selection = MediaStore.Audio.Media.FILE_PATH + " ilike '%audio%books%'";

String[] proj = {MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media._ID};
int[] to = new int[] { R.id.artist_name };
Cursor musiccursor = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, proj, selection, null, MediaStore.Audio.Media.ARTIST);
ListView musiclist = (ListView) findViewById(R.id.mylist);

SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.songitem, musiccursor, proj, to);
musiclist.setAdapter(mAdapter);

O único problema, é claro, é que FILE_PATH não é realmente uma coluna que eu possa usar e, até onde sei, não existe nenhuma colun

Então eu estou me perguntando:

Existe uma maneira de consultar apenas músicas em um determinado diretório? Se sim, como? Se isso não for uma opção, devo criar um ListAdapter que filtre por diretório? Se sim, novamente, como eu faria isso?

brigado por qualquer conselh

questionAnswers(2)

yourAnswerToTheQuestion