我正在使用 Cordova(AKA Phonegap)开发一个 Android“浏览器内”应用程序,在设备本身上运行。我在我的模拟器中读取/写入文件到 SD 卡没有问题,但在我看来,我不能依赖它在现实世界中安装在 /sdcard 上,特别是因为一位朋友指出某些设备实际上可能有不止一个。
在四处寻找之后,我可以看到很多关于如何在 Java 中开发应用程序时找到 SD 卡路径的答案,但没有提到如何在我的 Javascript 中做同样的事情。我想知道是否有人能指出我正确的方向吗?
我正在使用 Cordova(AKA Phonegap)开发一个 Android“浏览器内”应用程序,在设备本身上运行。我在我的模拟器中读取/写入文件到 SD 卡没有问题,但在我看来,我不能依赖它在现实世界中安装在 /sdcard 上,特别是因为一位朋友指出某些设备实际上可能有不止一个。
在四处寻找之后,我可以看到很多关于如何在 Java 中开发应用程序时找到 SD 卡路径的答案,但没有提到如何在我的 Javascript 中做同样的事情。我想知道是否有人能指出我正确的方向吗?
如果您尝试使用 PhoneGap 保存照片,则应使用以下属性:
destinationType : Camera.DestinationType.FILE_URI, saveToPhotoAlbum: true
该路径下保存的图片:/mnt/sdcard/DCIM/camera
完整的代码如下所示:
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50,
destinationType: destinationType.FILE_URI,
sourceType: source });
这就是你使用的原因:
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onSuccess, onError);
您在 onSuccess 回调中获得的文件系统对象将具有一个根属性,它是一个 DirectoryEntry,在大多数情况下,它指向 Android 上的 /sdcard 目录。此方法调用 Java 代码来确定正确的外部存储目录,它应该对您来说是一致的。