Запрос PDF-файлов с устройства не работает должным образом ⇐ Android
-
Anonymous
Запрос PDF-файлов с устройства не работает должным образом
Я хочу перечислить все PDF-файлы, доступные в хранилище устройства. Мой подход работает на некоторых устройствах (пробовал на 13 и 14), а на других не работает (Android 10 и ниже), на этих устройствах размер списка всегда равен нулю. Любая помощь будет высоко оценена.
Вот код
val externalStorageDirectory = Environment.getExternalStorageDirectory() val pdfFiles = getPdfFiles(externalStorageDirectory) Log.d("pdfFiles ", "${pdfFiles.size}") личное развлечение getPdfFiles(каталог: File): List { val pdfFiles = mutableListOf() если (directory.isDirectory) { val файлы = каталог.listFiles() если (файлы != ноль) { for (файл в файлах) { если (file.isDirectory) { // Рекурсивно сканируем подкаталоги pdfFiles.addAll(getPdfFiles(файл)) } еще { // Проверяем, является ли файл PDF по его расширению если (file.extension.equals("pdf", true)) { val имя_файла = имя_файла.имя val filePath = file.absolutePath pdfFiles.add(PdfFile(имя_файла, путь к файлу, каталог.имя)) } } } } } вернуть PDF-файлы }` Если вам нужно больше контекста, вот мой MainActivty.kt
Я хочу перечислить все PDF-файлы, доступные в хранилище устройства. Мой подход работает на некоторых устройствах (пробовал на 13 и 14), а на других не работает (Android 10 и ниже), на этих устройствах размер списка всегда равен нулю. Любая помощь будет высоко оценена.
Вот код
val externalStorageDirectory = Environment.getExternalStorageDirectory() val pdfFiles = getPdfFiles(externalStorageDirectory) Log.d("pdfFiles ", "${pdfFiles.size}") личное развлечение getPdfFiles(каталог: File): List { val pdfFiles = mutableListOf() если (directory.isDirectory) { val файлы = каталог.listFiles() если (файлы != ноль) { for (файл в файлах) { если (file.isDirectory) { // Рекурсивно сканируем подкаталоги pdfFiles.addAll(getPdfFiles(файл)) } еще { // Проверяем, является ли файл PDF по его расширению если (file.extension.equals("pdf", true)) { val имя_файла = имя_файла.имя val filePath = file.absolutePath pdfFiles.add(PdfFile(имя_файла, путь к файлу, каталог.имя)) } } } } } вернуть PDF-файлы }` Если вам нужно больше контекста, вот мой MainActivty.kt
Мобильная версия