【问题标题】:How do I integrate Native Cordova Plugin in Ionic Framework? camerapicturebackground如何在 Ionic 框架中集成 Native Cordova 插件?相机图片背景
【发布时间】:2016-02-25 20:01:22
【问题描述】:

我一直在尝试在我的 Ionic 项目中安装一个自定义的 cordova 插件(在 ngCordova 库中不可用),这将使我能够在 Android 上无需用户输入的情况下拍照:

camerapicturebackground

我一直在努力将其正确集成到我的 Ionic 应用程序中,但不知道如何:

a) 按照Cordova documentation 实现 deviceready:

    document.addEventListener("deviceready", yourCallbackFunction, false);

b) 在 Ionic 中调用函数而不会导致应用崩溃。

【问题讨论】:

    标签: cordova ionic-framework cordova-plugins


    【解决方案1】:

    尝试使用 ionic 内置的 ready 方法,而不是设备上的 deviceready,该方法会在 Cordova、Angular 和 Ionic 准备就绪时触发。

    ionic.Platform.ready(function(){
      //do plugin stuff here
    });
    

    http://ionicframework.com/docs/api/utility/ionic.Platform/

    【讨论】:

      【解决方案2】:

      作为初学者,我在理解这些问题方面遇到了一些困难:

      a) 我改用了 $ionicPlatform.ready。这被放置在我的控制器内部,该控制器注入了 $ionicPlatform 依赖项。 见下文:

          .controller('captureCtrl',['$scope', '$ionicPlatform', function($scope, $ionicPlatform){
      
          $ionicPlatform.ready(function() {
      
                 //function call in here
      
          })
          }]);
      

      根据下面的陈述,它应该也能正常工作。

      The ionicPlatform.ready event is called when Cordova's deviceready event fires.

      b) 根据 github 问题页面,此插件在 CameraSurfacePreview.java 中存在问题。注释掉第 (94) 行会阻止设备崩溃。

      除此之外,该插件只有在重建Android平台后才能工作:

      > ionic platform rm android
      > ionic platform add android
      > ionic build android
      

      我不知道为什么会这样。了解更多的朋友欢迎留言交流。

      【讨论】:

        猜你喜欢
        • 2015-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多