我正在使用Nativescript来构建一些应用程序,该应用程序需要列出并显示手机图库中的所有文件。我不能使用任何“图像选择器”:它只需要向用户展示所有现有图像,但可以通过应用进行显示。
有人告诉我使用它:
android.os.Environment.DIRECTORY_PICTURES
但这只会返回字符串“ Pictures”。
我实际上如何访问该目录?哪些Android类处理“浏览”内置目录?
文档包含无数类。有人可以指出我正确的方向吗?
答案 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插件在运行时获取该权限。