Android TypeError:无法读取属性';getPictures';未定义的

Android TypeError:无法读取属性';getPictures';未定义的,android,cordova,ionic-framework,Android,Cordova,Ionic Framework,这是一款ionic应用程序,在同一控制器中具有$cordovaImagePicker和$cordovaCamera功能,并且都是从同一reservation.html调用的 这是控制器定义: .controller('AppCtrl', ['$scope', '$timeout', '$ionicModal', '$localStorage', '$cordovaCamera', '$ionicPlatform', '$cordovaImagePicker', function($scope,

这是一款ionic应用程序,在同一控制器中具有$cordovaImagePicker和$cordovaCamera功能,并且都是从同一reservation.html调用的 这是控制器定义:

.controller('AppCtrl', ['$scope', '$timeout', '$ionicModal', '$localStorage', '$cordovaCamera', '$ionicPlatform', '$cordovaImagePicker', function($scope, $timeout, $ionicModal, $localStorage, $cordovaCamera, $ionicPlatform, $cordovaImagePicker){
我使用
爱奥尼亚插件添加cordova插件imagepicker安装了$cordovaImagePicker
,使用
爱奥尼亚插件添加cordova插件摄像头安装了$cordovaCamera

这是控制器代码:

$ionicPlatform.ready(function() {
            var options1 = {
                quality: 50,
                destinationType: Camera.DestinationType.DATA_URL,
                sourceType: Camera.PictureSourceType.CAMERA,
                allowEdit: true,
                encodingType: Camera.EncodingType.JPEG,
                targetWidth: 100,
                targetHeight: 100,
                popoverOptions: CameraPopoverOptions,
                saveToPhotoAlbum: false
            };

            $scope.takePicture = function() {
                $cordovaCamera.getPicture(options1).then(function(imageData) {
                    $scope.registration.imgSrc = "data:image/jpeg;base64," + imageData;
                }, function(err) {
                    console.log(err);
                });

                $scope.registerform.show();
            };

            var options2 = {
                maximumImagesCount: 1,
                width: 800,
                height: 800,
                quality: 80
            };
            $scope.getPicture = function() {
                $cordovaImagePicker.getPictures(options2).then(function (results) {
                    for (var i = 0; i < results.length; i++) {
                        console.log('Image URI: ' + results[i]);
                        $scope.registration.imgSrc = results[i];
                    }
                }, function(error) {
                    // error getting photos
                    console.log(error);
                });
            };
        });
    }])
$ionicPlatform.ready(函数(){
变量选项1={
质量:50,
destinationType:Camera.destinationType.DATA\u URL,
源类型:Camera.PictureSourceType.Camera,
允许:是的,
编码类型:Camera.encodingType.JPEG,
目标宽度:100,
目标:100,
popoverOptions:CamerapoverOptions,
saveToPhotoAlbum:false
};
$scope.takePicture=函数(){
$cordovaCamera.getPicture(选项1)。然后(函数(imageData){
$scope.registration.imgSrc=“数据:图像/jpeg;base64,”+imageData;
},函数(err){
控制台日志(err);
});
$scope.registerform.show();
};
var选项2={
最大值:1,
宽度:800,
身高:800,
品质:80
};
$scope.getPicture=函数(){
$cordovaImagePicker.getPictures(选项2)。然后(函数(结果){
对于(var i=0;i
我正在安卓5手机上运行该应用程序。 拍照功能工作正常。 getPicture函数不起作用

devTools控制台显示:

TypeError: Cannot read property 'getPictures' of undefined
    at Object.getPictures (file:///android_asset/www/lib/ngCordova/dist/ng-cordova.js:4420:28)
    at Scope.$scope.getPicture (file:///android_asset/www/js/controllers.js:132:37)
    at fn (eval at <anonymous> (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:26457:15), <anonymous>:4:221)
    at file:///android_asset/www/lib/ionic/js/ionic.bundle.js:62386:9
    at Scope.$eval (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:29158:28)
    at Scope.$apply (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:29257:23)
    at HTMLButtonElement.<anonymous> (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:62385:13)
    at HTMLButtonElement.eventHandler (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:16583:21)
    at triggerMouseEvent (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:2948:7)
    at tapClick (file:///android_asset/www/lib/ionic/js/ionic.bundle.js:2937:3) 
TypeError:无法读取未定义的属性“getPictures”
在Object.getPictures(file:///android_asset/www/lib/ngCordova/dist/ng-cordova.js:4420:28)
在作用域中。$Scope.getPicture(file:///android_asset/www/js/controllers.js:132:37)
fn时(评估时)(file:///android_asset/www/lib/ionic/js/ionic.bundle.js:26457:15), :4:221)
在file:///android_asset/www/lib/ionic/js/ionic.bundle.js:62386:9
在范围内。$eval(file:///android_asset/www/lib/ionic/js/ionic.bundle.js:29158:28)
在范围内。$apply(file:///android_asset/www/lib/ionic/js/ionic.bundle.js:29257:23)
在HTMLButtoneElement。(file:///android_asset/www/lib/ionic/js/ionic.bundle.js:62385:13)
在HtmlButtoneElement.eventHandler(file:///android_asset/www/lib/ionic/js/ionic.bundle.js:16583:21)
在三角洲事件中(file:///android_asset/www/lib/ionic/js/ionic.bundle.js:2948:7)
点击(file:///android_asset/www/lib/ionic/js/ionic.bundle.js:2937:3) 
错误似乎是说getPictures在scope.scope.getPicture的范围内,但代码不是这样组织的。
我已尝试卸载并重新安装$cordovaImagePicker,但没有任何更改。

经过数小时的搜索,我找到了此链接

并重新安装了具有以下内容的imagePicker:

爱奥尼亚插件添加-保存


现在它可以正常工作了。

我想说,
$cordovaCamera
在您尝试调用
gefPictures()
方法时没有定义。您检查过注入是否正常工作了吗?当我单击第一个错误时,它指向$window.imagePicker.getPictures(函数)中.getPictures()的开头,$cordovaCamera工作正常。