我有一个运行 cordova 3.1.0 的 phonegap (cordova) 应用程序,当我打电话时
navigator.camera.getPicture(success,fail,options)
选项为
var options={
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.SAVEDPHOTOALBUM,
encodingType: navigator.camera.EncodingType.JPEG,
mediaType: navigator.camera.MediaType.Picture
}
用户选择照片后不会调用成功回调。
如果我再打电话
navigator.camera.getPicture(success,fail,options)
再次,使用第一步中选择的照片调用第一个 getPicture 的成功回调。
我在 CameraLauncher.java (大约从第 395 行开始)中四处寻找,它似乎调用了
this.callbackContext.success(uri.toString());
在
onActivtyResult 但这似乎直到下一次 getPicture() 调用才被传回。
还有人遇到这个吗?
进一步挖掘显示从相机调用 getPicture 时也会发生同样的事情。
我想知道是否是因为当相机活动完成时,webview 没有恢复,所以回调无处可去 - 但这充其量只是疯狂的猜测。
24 小时后,似乎更新到 Cordova 3.1.0.jar 并将 3.1 jar 直接放入现有的 3.0 项目中解决了这个问题。