无法在file:///android_asset/www/apis/camera.js阅读未定义类型的'DATA_URL'属性:45

时间:2013-06-24 06:21:20

标签: java javascript android eclipse cordova

我非常熟悉phonegap应用程序,但我是一名Android开发人员。我正在尝试通过我的phonegap应用程序中的按钮单击调用相机。以下是我的html我在哪里调用camera.js api的take_pic()方法javascript.I仅在看到api示例后才将body.js包含在体内。

<body>
<label for="hello">Hello World</label>
<br><input type="submit" id="submit" value="Call Camera" onclick="take_pic();">
<script type="text/javascript" charset="utf-8" src="apis/camera.js"></script>
</body>

以下是camera.js的方法,它被触发,但它会抛出“无法读取未定义类型的'DATA_URL'文件:///android_asset/www/apis/camera.js:45”错误。请伙计们帮助我。如果需要更多细节,我知道

function take_pic() {
  navigator.camera.getPicture(onPhotoDataSuccess, function(ex) {
    alert("Camera Error!");
  }, { quality : 30, destinationType: destinationType.DATA_URL });
}

1 个答案:

答案 0 :(得分:0)

您是否尝试过下一个代码?它位于PhoneGap API示例中:PhoneGap example

var pictureSource;   // picture source
var destinationType; // sets the format of returned value

// Wait for device API libraries to load
//
document.addEventListener("deviceready",onDeviceReady,false);

// device APIs are available
//
function onDeviceReady() {
    pictureSource=navigator.camera.PictureSourceType;
    destinationType=navigator.camera.DestinationType;
}

function take_pic() {
    navigator.camera.getPicture(onPhotoDataSuccess, function(ex) {
        alert("Camera Error!");
    }, { quality : 30, destinationType: destinationType.DATA_URL });
}

我认为您的问题是变量“destinationType”未定义。你有没有正确地初始化它?