如何在Ionic 1项目中集成Cordoba Camera插件

How to integrate Cordoba Camera plugin in Ionic 1 project

我正在尝试为我的 Ionic 1 项目实现一个摄像头。

但我找不到任何可靠的例子来说明如何做到这一点。 我发现: https://www.thepolyglotdeveloper.com/2014/09/use-android-ios-camera-ionic-framework/https://github.com/apache/cordova-plugin-camera 和一些旧的 Stack Overflow 条目。

不过,我自己运行还没有。

您已经在正确的轨道上了!您找到的是最流行的 Cordova 相机插件:

https://github.com/apache/cordova-plugin-camera

虽然这是一个纯 Cordova 插件,这意味着它没有以任何方式针对 Ionic 进行调整。这意味着,您只需将它添加到您的项目中,并在 Ionic 准备就绪后立即使用它:

ionic.Platform.ready( function() {
  navigator.camera.getPicture(onSuccess, onFail, options);
});

但是将回调作为参数传递确实不是 angular 的方法。因此,在基本的 Cordova 相机插件之上,您可以添加 ngCordova 以增强处理能力。

要安装 ngCordova 并将其添加到您的项目中,请按照以下说明操作:

http://ngcordova.com/docs/install/

总结:

  1. 通过 bower 安装 ngCordova
  2. 将 js 引用添加到您的 index.html
  3. 将 ngCordova 模块添加为 app.js
  4. 的依赖项
  5. 如果您已正确添加所有内容,请在您的控制器、指令或服务中注入 $cordovaCamera 以使用它。

这允许您以 angular 方式访问相机,您可以在此处找到更多信息:

http://ngcordova.com/docs/plugins/camera/

/**
 * taken from the docs linked above
 * you can now make use of promises here!
 */
$cordovaCamera.getPicture(options).then(function(imageData) {
  var image = document.getElementById('myImage');
  image.src = "data:image/jpeg;base64," + imageData;
}, function(err) {
  // error
});

希望这有助于在您的项目中成功集成相机。 ;)