未定义的错误访问安卓相机

Undefined error Accessing Android Camera

本文关键字:相机 访问 错误 未定义      更新时间:2023-09-26

我正在尝试让我的应用程序用相机拍照,然后向用户显示此代码。我试图完美地遵循 phonegap api,但它们不起作用,但是当我在 phonegap 示例中使用我的代码并将函数名称更改为 phonegap 示例使用的名称并运行示例脚本时,它工作得很好。我使用的代码是

function gotoPicture() {
    if (/Android/.test(navigator.userAgent)) {
        try {
            alert("test2");
            navigator.camera.getPicture(setImage,onError,{sourceType: Camera.PictureSourceType.CAMERA, destinationType: Camera.DestinationType.DATA_URL,quality:60});
        } //try
        catch (e) {
            alert("onerror")
            alert(e.Message);//test
        } //catch
    } //if
    else {
        $.mobile.changePage('#expense-page-picture');
    } //else
} //gotoPicture

setImage 和 onError 代码如下所示

function onError(error) {
    alert("test1")
    navigator.notification.alert(error, null, "Error");
}
function setImage(imageData) {
    alert("test3")
    artificialReceipt = imageData;
    /* document.getElementById('expense-form-picture').src = 'data:image/jpg;base64,' + artificialReceipt; */
   document.getElementById('expense-form-picture').src = artificialReceipt;     // with cordova 1.5.0, it seems that imageData is a file location
    $.mobile.changePage('#expense-page-picture');
}
我收到

捕获中的错误警报,我从未收到test1警报,我还将尝试添加onDeviceReady,看看这是否有区别,我相信我以前已经尝试过我也在代码上方添加了这个,但什么也没发生

document.addEventListener("deviceready",onDeviceReady,false);
function onDeviceReady()
{
    alert("i am ready");
}

从来没有收到警报我已经准备好了。

首先,您确定在设备就绪事件之后使用您的函数吗?

document.addEventListener("deviceready",onDeviceReady,false);

那么,我们可以看到 setImage 函数和 onError 吗?我们能得到回应吗?在 setImage 中,你应该有一个 image 参数和 onError 一条消息:

function setImage(image) {
    console.log(image);
}
function onError(message) {
    console.log('error:' + message);
}

另外,您是否收到"错误"警报?