科尔多瓦相机 - 离子

Mat*_*kin 1 android angularjs cordova yeoman ionic-framework

我一直在寻找最近近2天的解决方案.我正在尝试使用ngCordova Camera插件.

我正在使用带有AngularJS的ionic-yeoman框架.

我做的是:

bower install --save ngCordova.
Run Code Online (Sandbox Code Playgroud)

添加ngCordova到我的app.module.安装了cordova相机插件:

cordova plugin add org.apache.cordova.camera.
Run Code Online (Sandbox Code Playgroud)

我的控制器:

.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;
  });
})
Run Code Online (Sandbox Code Playgroud)

我收到此错误:ReferenceError: Camera is not defined

Sun*_*ama 13

如果您通过浏览器为您的应用程序提供服务,那么无论您使用何种cordova设备,都无效.但是,如果您在模拟器或设备本身中提供应用程序后仍遇到问题.请尝试以下步骤.

首先,检查cordova插件列表:

转到项目目录类型: cordova plugin lists

  1. 看看cordova-plugin-media-capture,cordova-plugin-camera(如果这些不在列表中,你只是错过了你的插件).运行命令 cordova plugin add cordova-plugin-media-capturecordova plugin add cordova-plugin-camera

  2. 如果插件在那里,你仍然没有定义相机的问题

    • cordova plugin rm cordova-plugin-camera
    • cordova plugin rm cordova-plugin-media-capture
    • ionic platform rm android
    • ionic platform add android
    • cordova plugin add cordova-plugin-camera
    • cordova plugin add cordova-plugin-media-capture

必须在index.html中出现以下内容

 <script src="lib/ngCordova/dist/ng-cordova.js"></script>
    <script src="cordova.js"></script>
Run Code Online (Sandbox Code Playgroud)