Das bin ich ausgeflippt. Ich habe eine einfache Anwendung, wo Sie eine Taste drücken und es ein Bild machen, dann kann der Benutzer andere Dinge tun, aber das Problem ist, dass irgendwann die GetPicture Funktion ignoriert wird und die Kamera zeigt nie, hier geht ein paar Informationen und einfachen Code:Ionic Kamera GetPicture Plugin ignoriert
$ ionic info
Your system information:
Cordova CLI: 6.5.0
Ionic CLI Version: 2.2.2
Ionic App Lib Version: 2.2.1
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v6.10.2
Xcode version: Xcode 8.3.2 Build version 8E2002
Installed platforms:
android 6.0.0
ios 4.3.1
Plugins installiert
$ ionic plugin ls
WARN: ionic.project has been renamed to ionic.config.json, please rename it.
com.googlemaps.ios 2.1.1 "Google Maps SDK for iOS"
cordova-plugin-camera 2.4.0 "Camera"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.3 "Console"
cordova-plugin-device 1.1.2 "Device"
cordova-plugin-file 4.3.1 "File"
cordova-plugin-file-transfer 1.6.1 "File Transfer"
cordova-plugin-geolocation 2.4.2 "Geolocation"
cordova-plugin-googlemaps 1.4.0 "phonegap-googlemaps-plugin"
cordova-plugin-screen-orientation 1.4.2 "Screen Orientation"
cordova-plugin-splashscreen 3.2.2 "Splashscreen"
cordova-plugin-statusbar 2.1.3 "StatusBar"
cordova-plugin-whitelist 1.2.2 "Whitelist"
ionic-plugin-keyboard 2.2.1 "Keyboard"
Dann haben wir eine HTML mit diesem Knopf
<button class="button button-full button-positive" ng-click="take_picture()">Take photo</button>
und die Funktion in die Steuerung haben
$scope.take_picture = function()
{
screen.lockOrientation('portrait');
var options = {
quality: 25,
destinationType: Camera.DestinationType.DATA_URL,
sourceType: Camera.PictureSourceType.CAMERA,
encodingType: Camera.EncodingType.JPEG,
saveToPhotoAlbum: false,
correctOrientation: true,
allowEdit: false,
targetHeight: 200,
targetwidth: 200
};
$cordovaCamera.getPicture(options).then(function(imageURI) {
$scope.image_uri = imageURI;
$scope.marcar_gps();
$cordovaCamera.cleanup();
}, function(err) {
console.log('error ',err);
$cordovaCamera.cleanup();
$ionicLoading.hide();
});
};
Hoffnung jemand helfen kann. Beste!
EDIT
Wenn die Kamera auf xCode Konsole übersprungen ich dieses: Achtung: Der Versuch, auf dem präsentieren ist bereits
aber dies geschieht auf einem iPhone 7, tun Sie denke, dass könnte ein Gedächtnisproblem in diesem Telefon sein? Der Timeout ein Hack ist, den Benutzer zu vermeiden, drücken Sie zu oft die Taste –
Nach dem Foto aufgenommen wurde, dann Rückruf aufgerufen wurde, so dass die das Bild bedeuten vollständig zurückgeführt. Sie müssen das Entladen nicht innerhalb des Zeitlimits umbrechen. Von http://ngcordova.com/docs/plugins/camera/ camereactive wird verwendet, wenn Sie nur FILE_URI verwenden, nicht erforderlich, wenn Sie DATA_URL verwenden. Vielen Dank. – digit
Ich fand, dass auf der XCode-Konsole, wenn die Kamera übersprungen wird, diese Warnung zurückgibt: Versuch, auf zu präsentieren, die bereits präsentiert –