在我的Cordova应用程序中,我希望能够列出Android设备上常用目录的内容;例如:
Documents
Downloads
Pictures
在Android Java领域,这些家伙是通过Environment对象暴露的。但由于这些是特定于平台的API,它们不是Cordova核心的一部分,而是需要由Cordova插件公开。
然而,在cordova插件文件公开的目录中,我没有看到任何类似的东西。有没有其他插件可以公开这些?我只需要将它们传递给window.resolveLocalFileSystemURL()
,就可以列出文件内容并读取文件。
更新
User QuickFix提供了以下解决方案——一个公开Android环境对象目录的插件。我还使用cordova-plugin-file
插件创建了一个增强报告,将这些目录添加到其中。如果您希望看到添加此功能,请在Cordova JIRA网站上投票支持。
更新2
我还发布了一个小插件,它将Environment
对象中的目录和外部存储助手方法公开给npm:https://www.npmjs.com/package/cordova-plugin-env.我仍然希望看到这些添加到cordova-plugin-file
中,但至少在其他人需要的情况下可以使用。
由于我找不到用内置的cordova函数获取这些文件夹路径的方法,我制作了一个快速的小插件,可以通过Environment对象获取所有暴露的路径。
https://github.com/nicolasgrolleau/androidfoldersplugin/
这表明构建一个cordova插件是多么容易