2016-12-27 4 views
0

Ich entwickle eine App, die camera öffnen sollte oder ein Bild aus der Fotobibliothek auswählen, das Problem ist, dass, wenn ich die App testen build with ionic (so android-debug.apk) gibt es keine Probleme aber wenn ich eine signed apk (ich unterzeichnete die apk mit android studio), wenn ich ein Bild aus der Fotobibliothek wählen möchte, gibt es keine Probleme, aber wenn ich die Kamera öffnen möchte, schließt die App und die Nachricht "Die App" App-Name zurück " wurde unterbrochen". Ich habe dieses Problem nur auf Android, auf iOS funktioniert es gut. Ich habe versucht, auf Google zu suchen, aber ich habe nichts gefunden, und vor drei Wochen habe ich eine gleiche App mit den gleichen Funktionen und dem gleichen Code veröffentlicht und es funktioniert.ionische Kamera Absturz Android

DIES IST MEIN CODE ÖFFNUNGS KAMERA:

function capturePhoto() { 
     // Take picture using device camera and retrieve image as base64-encoded string 
     /*navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50, 
     destinationType: destinationType.DATA_URL }); */ 


     var srcType = Camera.PictureSourceType.CAMERA; 
     var options = setOptions(srcType); 
     var func = createNewFileEntry; 

     /*if (selection == "camera-thmb") { 
      options.targetHeight = 100; 
      options.targetWidth = 100; 
     }*/ 

     navigator.camera.getPicture(function cameraSuccess(imageUri) { 

      // Do something 

     }, function cameraError(error) { 
      console.debug("Unable to obtain picture: " + error, "app"); 

     }, options); 

    } 

Wie kann ich dieses Problem lösen?

des Thank

+0

setzen Sie Ihren Code oder erstellen Sie Geige für überprüfen, was genau Problem ist. – Dixit

+0

ok, jetzt bearbeite ich die Frage @ dkc007 – Edoardo

+0

Ich habe die Frage bearbeitet @ dkc007 – Edoardo

Antwort

0

Immer versuchen Der Service hier verwenden .Because Sie es in verschiedenen Steuerungen verwenden,

.factory('imageCapt', function($q, $cordovaCamera) { 
    var image_url = ""; 
    var _ChoosePhoto = function() { 
        var options = { 
        quality: 75, 
        destinationType: Camera.DestinationType.DATA_URL, 
        sourceType: Camera.PictureSourceType.PHOTOLIBRARY, 
        allowEdit: true, 
        encodingType: Camera.EncodingType.JPEG, 
        targetWidth: 300, 
        targetHeight: 300, 
        popoverOptions: CameraPopoverOptions, 
        saveToPhotoAlbum: false 
       }; 
        return $cordovaCamera.getPicture(options).then(function (imageData) { 
         image_url = "data:image/jpeg;base64," + imageData; 
         return image_url; 
        }, function (err) { 
         alert(err); 
         // An error occured. Show a message to the user 
        }); 
       }; 
    var _GetImageUrl= function(){ 
      var options = { 
        quality: 50, 
        destinationType: Camera.DestinationType.DATA_URL, 
        sourceType: Camera.PictureSourceType.CAMERA, 
        allowEdit: true, 
        encodingType: Camera.EncodingType.JPEG, 
        targetWidth: 100, 
        targetHeight: 100, 
        popoverOptions: CameraPopoverOptions, 
        saveToPhotoAlbum: true 
       }; 

        return $cordovaCamera.getPicture(options).then(function (imageData) { 
         image_url ="data:image/jpeg;base64,"+ imageData;     
        return image_url; 
        }, function (err) { 
         alert(err); 
         // An error occured. Show a message to the user 
        }); 
     // $ionicLoading.show({content: 'Loading', animation: 'fade-in',showBackdrop: true, maxWidth: 200,showDelay: 0}); 

    }; 
    return { 
     GetImageUrl : _GetImageUrl, 
     ChoosePhoto : _ChoosePhoto, 
    }; 

}) 

Hinweis: Wenn Sie nicht möchten, Dienst verwenden, dann richtig Optionen verwenden in Ihrem Controller wie

var options = { 
       quality: 50, 
       destinationType: Camera.DestinationType.DATA_URL, 
       sourceType: Camera.PictureSourceType.CAMERA, 
       allowEdit: true, 
       encodingType: Camera.EncodingType.JPEG, 
       targetWidth: 100, 
       targetHeight: 100, 
       popoverOptions: CameraPopoverOptions, 
       saveToPhotoAlbum: true 
      }; 
+0

danke, aber es hat mein Problem nicht gelöst – Edoardo

+0

überprüfen Sie Ihre Konsole für genaue Fehler. – Anuj

+0

ich habe keinen fehler in der konsole, wenn ich die android-debug.apk aber wenn ich die unterzeichnete apk die app-crash und mit der unterzeichneten apk ich habe nicht die chrome console – Edoardo