Android MediaStore — загрузка не может получить доступ к аудиофайлам

#java #android #mediastore

#java #Android #MediaStore

Вопрос:

Попытка получить доступ к аудиофайлам внутри коллекции загрузок MediaStore. Но API не разрешает какой-либо конкретный доступ к аудиофайлам. Вот код, но он ничего не возвращает.

 protected ArrayList getAudioFiles() {
    ArrayList<String> audio = new ArrayList<>();
    Cursor cursor = getContentResolver().query(
            MediaStore.Downloads.INTERNAL_CONTENT_URI,
            new String[] { MediaStore.DownloadColumns.DISPLAY_NAME },
            null,
            null,
            null
    );
    while(cursor.moveToNext()) {
        String name = cursor.getString(cursor.getColumnIndex(MediaStore.DownloadColumns.DISPLAY_NAME));
        audio.add(name);
    }
    return audio;
}
 

Вывод:

 E/musicplayer: Audio files:
E/musicplayer: end of results.
 

Также добавлен тег разрешения в приложении:

 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_INTERNAL_STORAGE" />
 

Мой вопрос в том, даже если я забуду, что на самом деле хотел запросить аудиофайлы, почему запрос ничего не возвращает, даже если я знаю, что в папке downloads есть файлы?

Комментарии:

1. Запрос разрешений во время выполнения тоже?

2. Не запрашивая никаких разрешений во время выполнения, позвольте мне исправить это и посмотреть.