我一直在寻找解决方案将近2天.
我正在尝试使用ngCordova相机插件.
我在AngularJS中使用ionic-yeoman框架.
我所做的是:
bower install --save ngCordova.
已将ngCordova添加到我的app.module中.
安装了cordova相机插件:
cordova plugin add org.apache.cordova.camera.
我的控制器:
.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:未定义相机
解决方法:
如果您通过浏览器提供应用程序,那么无论您对cordova的使用情况如何,都无法使用.但是,即使在模拟器或设备本身中服务您的应用程序后仍然遇到问题.请尝试以下步骤.
首先,检查cordova插件列表:
转到项目目录类型:cordova插件列表
>请参阅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
>离子平台rm android
>离子平台添加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>