Как распечатать медиафайлы в порядке убывания - PullRequest
0 голосов
/ 16 мая 2019

Доступ к медиа-файлам осуществляется с помощью курсора в массиве.Но мне нужно распечатать массив в порядке убывания (имеется в виду последний файл мультимедиа в системе в первую очередь)

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);
}
...