我正在尝试让我的应用程序用相机拍照,然后将此代码显示给用户。我试图完全按照手机屏幕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');
}
我得到了捕获中的onerror警报我从未得到test1警报我也会尝试添加onDeviceReady并查看是否有所不同我相信我之前尝试过 我还在代码上面添加了这个并没有发生任何事情
document.addEventListener("deviceready",onDeviceReady,false);
function onDeviceReady()
{
alert("i am ready");
}
从未得到我准备好的警报。
答案 0 :(得分:0)
首先,您确定在设备准备事件后使用了您的功能吗?
document.addEventListener("deviceready",onDeviceReady,false);
然后,我们可以看到setImage函数和onError吗? 我们能得到答复吗? 在setImage中,你应该有一个image参数和onError,一条消息:
function setImage(image) {
console.log(image);
}
function onError(message) {
console.log('error:' + message);
}
另外,您是否收到了'onerror'警报?