android - Cordova 相机- ionic

标签 android angularjs cordova yeoman ionic-framework

我一直在寻找解决方案长达将近 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

  1. 查看 cordova-plugin-media-capturecordova-plugin-camera(如果这些不在列表中,您只是缺少插件). 运行命令 cordova 插件添加 cordova-plugin-media-capturecordova 插件添加 cordova-plugin-camera

  2. 如果插件存在,但您仍然遇到相机未定义的问题

    • 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/

相关文章:

c# - 带有 ASP.Net MVC RouteConfig 的 AngularJS Ui-Router。它是如何工作的?

javascript - 单页 JavaScript MVC 应用程序的评论框架,例如 AngularJS 的 Disqus

android - 谷歌钱包应用内支付不适用于 phonegap 框架

javascript - 在 cordva ios 应用程序中查看另一个网页中的网页

android - 设置方向肖像phonegap android

Android Map V2 map 在一个 Activity 中加载但在其他两个 Activity 中不加载

android - 使用 RandomAccessFile 重写内容

android - 如何在 TextView 中单击一次获得选择光标

java - 对于 Android SDK 17 或更低版本,如何从 uri 获取选定的 xls 文件路径?

javascript - 为什么 angularjs 在每次输入更改时都不必要地继续调用 Controller 函数以及如何停止该行为?