Я работаю над приложением медиаплеера на Android Studio. Я использую функцию, которая загружает аудиофайлы из внешнего хранилища с помощью курсора. Я установил все разрешения в файле манифеста, а также реализовал функцию
@Override
public void onRequestPermissionsResult()
Нет ошибок в отношении разрешений. Просто указатель курсора возвращает 0. Это потому, что я использую эмулятор или что-то не так в коде. Вот соответствующий фрагмент кода
private void loadAudio() {
ContentResolver contentResolver = 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 cursor = contentResolver.query(uri, null, selection, null, sortOrder);
Log.i("Cursor Count=",cursor.getCount()+"");
if (cursor.getCount() > 0) {
audioList = new ArrayList<>();
while (cursor.moveToNext()) {
String data = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));
String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));
String album = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM));
String artist = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));
// Save to audioList
audioList.add(new Audio(data, title, album, artist));
}
}
cursor.close();
}
Может кто-нибудь помочь. Спасибо!