我参与了一个项目,可以从给定的Android设备(使用Cordova)中检索尽可能多的照片,并将其提供给我的应用程序。
我使用以下代码和一些变体来查找照片最合理的居住地点:
var path = "sdcard/DCIM/Camera";
function gotDir(directory) {
var directoryReader = directory.createReader();
directoryReader.readEntries(function (entries) {
var i;
for (i = 0; i < entries.length; i++) {
console.log(entries[i].name);
}
});
};
function gotFS(fileSystem) {
fileSystem.root.getDirectory(path, {}, gotDir, function(e){console.log(e)})
}
window.requestFileSystem(0-9, 0, gotFS, function(e){console.log(e)})
大多数示例使用LocalFileSystem.Persistent代替我所拥有的地方&#34; 0-9&#34;,我注意到它只返回一个int,所以我开始运行这个相同的代码只改变数字看看是什么条目对象中提供了根级别路径。
我发现6和9是Android上最有前途的,有警告和许多变量。 在我的注释4中,FileSystem(9,...)上的内部和SD外部存储的照片可用于: 存储/模拟/ 0 / DCIM /摄像机和存储/ extSdCard / DCIM /摄像机
然而,在不同的模拟器中运行它,默认模拟器没有FileSystem(9,...),只有6,而Nexus 5模拟器有一个FileSystem(9,...)但路径是DCIM /和100。
如果有人可以通过提供确定的解决方案来检索Android上的所有照片列表,无论设备或制造商如何,都可以提供帮助。