构建我的第一个Cordova 4.0应用程序,我真的需要一些帮助,因为我将展示这个应用程序的演示...
当我尝试访问网络信息API和相机API(分别为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" />
以下是已安装的插件:
org.apache.cordova.camera 0.3.3 "Camera"
org.apache.cordova.console 0.2.11 "Console"
org.apache.cordova.device 0.2.12 "Device"
org.apache.cordova.network-information 0.2.13 "Network Information"
我还复制了platform-folder中的cordova.js
文件,并将<SCRIPT TYPE="text/javascript" src="js/cordova.js"></SCRIPT>
标记添加到我的index.html。另外,这是我尝试访问相机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);
});
}
当我运行此操作时,我总是不支持&#34; Camera API&#34;警报,意思是它未定义。
我错过了什么?
答案 0 :(得分:1)
因此,这个问题的答案是Cordova自动将cordova.js
文件包含在项目www on build中。所以我所要做的就是包含<script type="text/javascript" src="cordova.js"></script>
标签。
也就是说,我复制cordova.js
文件并将其包含在我的JS文件夹中是不必要的。希望这可能有助于某人。