Как просмотреть все файлы в определенном каталоге? - PullRequest
0 голосов
/ 11 мая 2019

Я использую Nativescript для создания приложения, которое должно перечислять и представлять все файлы в галерее телефона. Я не могу использовать «средство выбора изображений»: ему просто нужно представить пользователю все существующие изображения, но при этом через приложение .

Мне сказали использовать это:

android.os.Environment.DIRECTORY_PICTURES

Но это просто возвращает строку «Картинки».

Как мне получить доступ к этому каталогу? Какой класс Android работает со «просмотром» встроенных каталогов?

Документация содержит бесчисленные классы. Может ли кто-нибудь указать мне правильное направление?

1 Ответ

1 голос
/ 11 мая 2019

Создайте экземпляр Folder из абсолютного пути и используйте метод .getEntities() для чтения списка файлов / папок в определенной папке.

import { Folder } from "tns-core-modules/file-system";

const androidPicturesPath = android.os.Environment.getExternalStoragePublicDirectory(
    android.os.Environment.DIRECTORY_PICTURES
).toString();

const folder = Folder.fromPath(androidPicturesPath);

folder.getEntities()
    .then((entities) => {
        // entities is an array of files and folders.
        entities.forEach((entity) => {
           console.log(entity.name);
        });
    }).catch((err) => {
        // Failed to obtain folder's contents.
        console.log(err);
    });

Примечание : Убедитесь, что ваше приложение имеет разрешение READ_EXTERNAL_STORAGE , используйте плагин nativescript-permissions для получения разрешения во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...