カーソルを使用して、メディア ベースの Listview のアイテムを返します。特定のフォルダにあるアイテムのみを返したいと思います。
このカーソルは MediaStore.Audio.Media.DATA に基づいているため、これは私の曲リストで機能し、カーソル内のフォルダーを確認できます。
final String folder = "'" + (new MyPrefs(this.PREF_PATH)).getString("music_folder",null) + "%'";
audioCursor = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, mCursorCols,
MediaStore.Audio.Media.DATA + " LIKE " + folder, null,MediaColumns.TITLE + " COLLATE LOCALIZED ASC");
startManagingCursor(audioCursor);
ただし、アーティストのリストビューでは、DATA の結果を確認することはできません。
audioCursor = getContentResolver().query(MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI, cols,
null, null,AudioColumns.ARTIST + " COLLATE LOCALIZED ASC");
startManagingCursor(audioCursor);
MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI
特定のフォルダーのみを照会して返すための良い方法を教えてください。通常のメディア URI では使用できない NUMBER_OF_TRACKS 列を使用するため、アーティスト URI を使用する必要があります。