Я получаю аудиофайлы из указанной папки c и привязываю их к recyclerview. теперь мне нужен Uri каждого файла, чтобы я мог загружать их по одному. Я использую курсор для получения файлов. ниже мой код:
Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String[] projection = {MediaStore.Audio.AudioColumns.SIZE,MediaStore.Audio.AudioColumns.TITLE,android.provider.MediaStore.Audio.AudioColumns.DATA,
MediaStore.Audio.AudioColumns.DURATION,MediaStore.Audio.AudioColumns.TITLE};
Cursor c = context.getContentResolver().query(uri, projection, MediaStore.Audio.Media.DATA + " like ? ", new String[]{"%/storage/emulated/0/Call%"},null);
if (c != null ) {
for (int i = 0; i < 50 && c.moveToNext(); ++i) {
// Create a model object.
POJO audioModel = new POJO();
long id = c.getLong(4);
String SIZE = c.getString(0); // Retrieve path.
String NAME = c.getColumnName(1); // Retrieve name.
String PATH = c.getString(2); // Retrieve album name.
String DURATION = c.getString(3); // Retrieve artist name.
Uri contentUri = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,id);
audioModel.setSize(SIZE);
audioModel.setName(NAME);
audioModel.setPath(PATH);
audioModel.setDuration(DURATION);
audioModel.setUri(contentUri);
Log.d("#", String.valueOf(contentUri));
arrayListFile.add(audioModel);
}
c.close();
}
return arrayListFile;
в contentUri, я получаю это (content: // media / external / audio / media / 0). и то, что я хочу, это content: //com.android.providers.media.documents/document/xyz.mp3. как я могу сделать ??