我想使用我的手机相机捕捉图像,我已经安装了插件'org.apache.cordova.camera'并且所有权限都应该自动生成,即使我检查了,他们也这样做了。
根据我的理解,我只需要一个调用javascript的按钮
<button id="photo" class="camera-control" onclick="capturePhoto()">Capture Photo</button>
和ofc,脚本本身
function capturePhoto(){
navigator.camera.getPicture(cameraSuccess,null{sourceType:1,quality:60}); }
我正在为Android做这个(使用HTC一个m8),我错过了一些非常明显的东西吗?
答案 0 :(得分:1)
似乎未定义成功/错误回调并将其传递给 getPicture 方法,然后cordova相机插件的工作方式与预期无关,原因可能是js-file未检查是否传递 successCallback 和 errorCallback ,因此不 未定义。如果没有传递回调,插件可能无法在某个平台(Android,IOS,WP8)上开始调用本机相机,因为无论在本机代码中使用成功/错误回调,插件都无法调用其中一个或任何一个它们。
Android的一个例子:
在Android上有一种方法:
public void failPicture(String err) {
this.callbackContext.error(err);
}
用于调用传递的错误回调,例如,如果无法使用JPEG图像压缩处理压缩当前拍摄的图片(位图)。
应始终为每个插件定义成功/错误回调,因为如果在本机环境/代码中引发了错误,则可以通过此错误通知webview-app,从而向用户显示适当的UI /消息。
希望这有帮助。