我一直在寻找解决方案长达将近 2 天。 我正在尝试使用 ngCordova Camera 插件。
我在 AngularJS 中使用 ionic-yeoman 框架。
我所做的是:
bower install --save ngCordova.
将 ngCordova
添加到我的 app.module
。
安装了 cordova 相机插件:
cordova plugin add org.apache.cordova.camera.
我的 Controller :
.controller('profileCtrl', function($scope, myService, $cordovaCamera)
{
$scope.takePicture = function() {
var options = {
quality : 75,
destinationType : Camera.DestinationType.DATA_URL,
sourceType : Camera.PictureSourceType.CAMERA,
allowEdit : true,
encodingType: Camera.EncodingType.JPEG,
targetWidth: 100,
targetHeight: 100,
popoverOptions: CameraPopoverOptions,
saveToPhotoAlbum: false
};
$cordovaCamera.getPicture(options).then(function(imageData) {
// Success! Image data is here
}, function(err) {
// An error occured. Show a message to the user
});
}
myService.getFoo().then(function(data) {
//this will execute when the
//AJAX call completes.
$scope.items = data;
});
})
我得到这个错误:ReferenceError: Camera is not defined
最佳答案
如果您通过浏览器 提供您的应用程序,无论您使用什么cordova
来处理设备的使用,都不起作用。但是,如果您在模拟器或设备本身中提供您的应用程序后仍然遇到问题。请尝试以下步骤。
首先,检查cordova插件列表:
转到项目目录类型:cordova plugin lists
查看
cordova-plugin-media-capture
、cordova-plugin-camera
(如果这些不在列表中,您只是缺少插件). 运行命令cordova 插件添加 cordova-plugin-media-capture
和cordova 插件添加 cordova-plugin-camera
如果插件存在,但您仍然遇到相机未定义的问题
cordova 插件 rm cordova-plugin-camera
cordova 插件 rm cordova-plugin-media-capture
ionic 平台 rm android
ionic平台添加android
cordova 插件添加 cordova-plugin-camera
cordova 插件添加 cordova-plugin-media-capture
您的 index.html 中必须包含以下内容
<script src="lib/ngCordova/dist/ng-cordova.js"></script>
<script src="cordova.js"></script>
关于android - Cordova 相机- ionic ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25000064/