Получить список PDF — файлов в хранилище- Mediastore android

#java #android #pdf #mobile #mediastore

Вопрос:

Может кто-нибудь помочь мне с этой проблемой, я пытаюсь получить список PDF-файлов из внешнего хранилища, но массив всегда пуст, это мой код:

Заранее спасибо.

Это мой код:

 public static ArrayList<String> getPdfFiles(Context context) {
        ArrayList<String> listOfAllFiles = new ArrayList<>();

        Uri uri = MediaStore.Files.getContentUri("external");
        ContentResolver cr = context.getContentResolver();
        String[] projection = {MediaStore.MediaColumns.DATA};
        // only pdf
        String selectionMimeType = MediaStore.Files.FileColumns.MIME_TYPE   "=?";
        String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension("pdf");
        String[] selectionArgsPdf = new String[]{ mimeType };
        Cursor allPdfFiles = cr.query(uri, projection, selectionMimeType, selectionArgsPdf, null);

        while (allPdfFiles.moveToNext()) {
            int nameIndex= allPdfFiles.getColumnIndex(MediaStore.Files.FileColumns.TITLE);
            String name= allPdfFiles.getString(nameIndex);
            listOfAllFiles.add(name);
        }
        return listOfAllFiles;
    }
 

Комментарии:

1. Пожалуйста, не предоставляйте моментальные снимки кода. Предоставьте код, который вы пытаетесь использовать, в виде текста.

2. Не могли бы вы добавить свой код в виде текста,,,

3. Привет @PawaraSiriwardhane, я обновил свой пост. Спасибо

4. Это здорово. Спасибо вам тоже за исправление поста.

5. просто отметим, что для Android 10 столбец _DATA не существует. Однако он был вновь представлен для Android 11. Также почему бы просто не поискать расширение .pdf, например, из переменной столбца _DATA.EndsWith(*.pdf»), намного проще