Javascript Cordova网络和摄像头API返回未定义
构建我的第一个Cordova 4.0应用程序,我真的需要一些帮助,因为我要展示这个应用程序tmrw的演示 当我尝试访问网络信息API和摄像头API(Javascript Cordova网络和摄像头API返回未定义,javascript,android,cordova,phonegap-plugins,cordova-plugins,Javascript,Android,Cordova,Phonegap Plugins,Cordova Plugins,构建我的第一个Cordova 4.0应用程序,我真的需要一些帮助,因为我要展示这个应用程序tmrw的演示 当我尝试访问网络信息API和摄像头API(navigator.connection和navigator.Camera)时,它们总是返回undefined 我的Android清单中有以下权利: <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name
navigator.connection
和navigator.Camera
)时,它们总是返回undefined
我的Android清单中有以下权利:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
我还从平台文件夹复制了cordova.js
文件,并将
标记添加到我的index.html中。下面是我尝试访问camera API的代码示例:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
$(document).on('click', '.camera', function(){
if (!navigator.camera) {
alert("Camera API not supported", "Error");
return;
}
var options = { quality: 50,
destinationType: Camera.DestinationType.DATA_URL,
sourceType: 1, // 0:Photo Library, 1=Camera, 2=Saved Album
encodingType: 0 // 0=JPG 1=PNG
};
navigator.camera.getPicture( function(imgData) { return imgData; }, function() { alert('Error');}, options);
});
}
当我运行这个时,我总是收到“Camera API not supported”警报,这意味着它是未定义的
我遗漏了什么?所以这个问题的答案是Cordova自动将
Cordova.js
文件包含在Project www on build中。所以我所要做的就是包含
标签
也就是说,我没有必要复制
cordova.js
文件并将其包含到我的js文件夹中。希望这可能会对某些人有所帮助。您是否已将包含cordova.js
的script
标记添加到html文件中?在检查cordova API之前,您还需要等待deviceready
事件触发。您需要显示HTML文件和代码,以便我们了解问题所在。@frank是的,添加了cordova.js。我用index.html文件中的一些代码更新了我的帖子。正如您所见,它等待deviceready启动,但它仍然没有定义。@frank我从project\u文件夹/platform/android/platform\www
文件夹中复制了我的cordova.js
文件。这是正确的文件吗?您需要将标签
添加到index.html
文件中。您将cordova.js
文件复制到哪里?是的,我已将其添加到我的js文件夹中<代码>
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
$(document).on('click', '.camera', function(){
if (!navigator.camera) {
alert("Camera API not supported", "Error");
return;
}
var options = { quality: 50,
destinationType: Camera.DestinationType.DATA_URL,
sourceType: 1, // 0:Photo Library, 1=Camera, 2=Saved Album
encodingType: 0 // 0=JPG 1=PNG
};
navigator.camera.getPicture( function(imgData) { return imgData; }, function() { alert('Error');}, options);
});
}