Доступ к медиа-файлам осуществляется с помощью курсора в массиве.Но мне нужно распечатать массив в порядке убывания (имеется в виду последний файл мультимедиа в системе в первую очередь)
Cursor cursor = getApplicationContext()
.getContentResolver()
.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, null, null, " DESC");
Я пробовал это, но это не работает, и приложение вылетает.
public ArrayList < String > getAllMedia() {
HashSet < String > videoItemHashSet = new HashSet < > ();
String[] projection = {
MediaStore.Video.VideoColumns.DATA,
MediaStore.Video.Media.DISPLAY_NAME
};
Cursor cursor = getApplicationContext().getContentResolver().query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, null, null, " DESC");
try {
Objects.requireNonNull(cursor).moveToFirst();
do {
videoItemHashSet.add((cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA))));
} while (cursor.moveToNext());
cursor.close();
} catch (Exception e) {
e.printStackTrace();
}
return new ArrayList < > (videoItemHashSet);
}