使用javascript的cordova相机捕获

时间:2015-04-25 18:25:15

标签: javascript html cordova

我想使用我的手机相机捕捉图像,我已经安装了插件'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),我错过了一些非常明显的东西吗?

1 个答案:

答案 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 /消息。

希望这有帮助。

相关问题