【发布时间】:2014-05-19 11:19:45
【问题描述】:
在我的 phonegap 应用程序(android 版本 4.4.2)中,我需要从 sdcard 中选择图像。在此我无法读取图像大小和名称。我的代码是这样的。
function getSkiImage(id,source){
navigator.camera.getPicture(function(imageURI){
alert(imageURI);
window.resolveLocalFileSystemURI(imageURI, function(fileEntry) {
alert(fileEntry);
fileEntry.file(function(fileObj) {
alert(fileObj.size);
});
});
// tried this also
/*window.requestFileSystem(imageURI, 0, function(data) {
alert(data.size);
}, fail); */
}, fail, { quality: 50,
destinationType: destinationType.FILE_URI,
sourceType: pictureSource.PHOTOLIBRARY });
}
在我的 android 设备 (v 4.4.2) 相册中显示“最近”、“驱动器”、“图像”、“画廊”……当从画廊中选择图像时,只有图像大小正在变……其他比画廊图像大小无法获得..
参考了这个但没有成功
Cordova/PhoneGap Photo File Size
他们在 phonegap 文档中说:
仅限 Android 4.4:Android 4.4 引入了新的存储访问 使用户更容易浏览和打开文档的框架 在他们所有首选的文档存储提供商中。科尔多瓦有 尚未与这个新的存储访问框架完全集成。 因此,getPicture() 方法将无法正确返回 用户从“最近”、“驱动器”、“图像”中选择时的图片, 当destinationType 为FILE_URI 时,或“外部存储”文件夹。 但是,用户将能够正确选择任何图片,如果 他们首先通过“画廊”应用程序。潜在的解决方法 这个问题记录在这个 StackOverflow 问题上。请参见 CB-5398 来跟踪这个问题。
Android 使用 Intent 在设备上启动相机 Activity 捕获图像,在内存不足的手机上,Cordova 活动 可能会被杀死。在这种情况下,图像可能不会出现在 Cordova 活动已恢复。
【问题讨论】:
-
它显示什么错误?你看过 Cordova 上的 File 插件吗? cordova.apache.org/docs/en/3.0.0/cordova_file_file.md.html
-
@smj2393 没有显示...
-
问题,你是在真机上测试还是在模拟器上测试?
-
@Gajotres 在我的 nexus 设备 v 4.4.2 中
-
很好,现在告诉我你第一次打开菜单(这将允许你选择一张图片)时,你的手机会显示哪些图片库?相信我,这是一个重要的问题
标签: javascript android jquery-mobile cordova