Se creo un progetto semplice:Come scegliere più immagini dal dispositivo?
ionic start MyApp
e aggiungere il ImagePicker
plugin:
ionic plugin add https://github.com/wymsee/cordova-imagePicker.git -save
E semplicemente copiare this example www folder nel progetto e fare:
ionic platform add android
ionic build android
ionic run android
tutto funziona bene . Posso scegliere più immagini come desiderato senza ottenere errori.
Fin qui tutto bene. Ora ho provato ad includerlo nel mio progetto, così ho aggiunto il plugin ImagePicker
. Ora, questa è la mia lista plugin:
ionic plugin ls
com.synconset.imagepicker 1.0.6 "ImagePicker"
cordova-plugin-camera 1.1.0 "Camera"
cordova-plugin-device 1.0.0 "Device"
cordova-plugin-dialogs 1.1.0 "Notification"
cordova-plugin-splashscreen 2.0.0 "Splashscreen"
cordova-plugin-statusbar 1.0.0 "StatusBar"
cordova-plugin-vibration 1.1.0 "Vibration"
cordova-plugin-whitelist 1.0.0 "Whitelist"
ho creato un nuovo modulo:
angular.module('App.ImageSelect', [])
.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider.state('app.imageSelect', {
url: "/products/prints/pola/imageSelect",
views: {
'menuContent': {
templateUrl: "modules/products/prints/pola/imageSelect/imageSelect.html",
controller: 'ImageSelectController'
}
}
});
})
.controller('ImageSelectController', function ($scope, $cordovaImagePicker) {
$scope.images = [];
$scope.selectImages = function() {
$cordovaImagePicker.getPictures(
function (results) {
for (var i = 0; i < results.length; i++) {
console.log('Image URI: ' + results[i]);
$scope.images.push(results[i]);
}
if (!$scope.$$phase) {
$scope.$apply();
}
},
function (error) {
console.log('Error: ' + error);
}
);
};
});
Come si può vedere che è esattamente lo stesso controllore che ho copiato dal here, che ha lavorato al progetto semplice test.
Per qualsiasi motivo sospetto, questo NON funziona. Ricevo sempre l'errore:
TypeError: Cannot read property 'getPictures' of undefined
Quindi qual è il punto? Sto usando EXACT lo stesso codice in entrambi i progetti. In uno tutto funziona e nell'altro niente funziona. Ho provato tutti gli esempi descritti here ma è sempre lo stesso.
Hai dato l'accesso all'app alla fotocamera in manifest? – QueryLars
Dalla versione 3.0 non è mai necessario modificarlo manualmente. tutto viene generato automaticamente – Mulgard
Hai aggiunto il plugin 'cordova-imagePicker'? Se sì, rimuovilo e reinstallalo di nuovo. Ho appena controllato la mia app di test e il plugin funziona correttamente su iOS, in grado di raccogliere 5 immagini. Controllo su Android ... – Tamal