2016-12-27 4 views
0

私はcameraを開くか、写真ライブラリから画像を選択するアプリを開発していますが、問題は私がアプリbuild with ionic(つまりアンドロイド-debug.apk)をテストすると問題はありません私がsigned apk(私はandroid studioでapkに署名した)をテストするならば、私は写真ライブラリから画像を選択したい場合は問題はないが、私はカメラを開いて、アプリケーションを閉じて、 "アプリケーション"アプリ名"中断された"。 私はこの問題はアンドロイドでしかありません.iOS上でうまくいきます。 Googleで検索しようとしましたが、何も見つかりませんでした.3週間前に同じ機能と同じコードで同じアプリを公開しています。イオンカメラのクラッシュアンドロイド

これはCAMERAを開くために私のコードです:

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); 

    } 

どのように私はこの問題を解決することができますか?

感謝の

+0

あなたのコードを置くか、正確な問題が何であるかを確認するためにフィドルを作成してください。 – Dixit

+0

ok、今質問を編集する@ dkc007 – Edoardo

+0

@ dkc007 – Edoardo

答えて

0

常に注意

.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, 
    }; 

}) 

、あなたは別のコントローラでそれを使用する必要が.Becauseここにサービスを使用しよう:あなたは、あなたの中に正しくオプションを使用するサービスを使用しない場合コントローラのような

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

ありがとうございました。私の問題は解決しませんでした。 – Edoardo

+0

正確なエラーをコンソールで確認してください。 – Anuj

+0

android-debug.apkを実行するとコンソールにエラーはありませんが、署名されたapkを実行するとアプリケーションのクラッシュが発生し、署名されたapkがChromeのコンソールを使用しませんでした – Edoardo

関連する問題