#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. Не запрашивая никаких разрешений во время выполнения, позвольте мне исправить это и посмотреть.