如何浏览特定目录中的所有文件?

时间:2019-05-11 11:33:27

标签: android nativescript

我正在使用Nativescript来构建一些应用程序,该应用程序需要列出并显示手机图库中的所有文件。我不能使用任何“图像选择器”:它只需要向用户展示所有现有图像,但可以通过应用进行显示。

有人告诉我使用它:

  

android.os.Environment.DIRECTORY_PICTURES

但这只会返回字符串“ Pictures”。

我实际上如何访问该目录?哪些Android类处理“浏览”内置目录?

文档包含无数类。有人可以指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

从绝对路径创建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插件在运行时获取该权限。