2015-07-14 14 views
5

Sto sviluppando un'applicazione in Android per l'applicazione della fotocamera. Aggiungo la telecamera utilizzando Cordova plugPhoneGap: La telecamera non funziona in Android kitkat

config.xml codice

<feature name="Camera"> 
    <param name="android-package" value="org.apache.cordova.camera.CameraLauncher" /> 
</feature> 

per scattare una foto

function snapPicture() { 
    navigator.camera.getPicture (onSuccess, onFail, 
     { quality: 100, 
      sourceType: navigator.camera.PictureSourceType.CAMERA, 
      mediaType: navigator.camera.MediaType.PICTURE, 
      destinationType: destinationType.FILE_URI, 
      encodingType: navigator.camera.EncodingType.JPEG, 
      correctOrientation: false, 
      saveToPhotoAlbum: true 
     }); 


    //A callback function when snapping picture is success. 
    function onSuccess (imageData) { 
     var image = document.getElementById ('picture'); 
     alert("path : "+imageData); 
     image.src = imageData; 
    } 

    //A callback function when snapping picture is fail. 
    function onFail (message) { 
     alert ('Error occured: ' + message); 
    } 
} 

Il codice sta lavorando bene in tutte le versioni di Android aspettarsi Android KitKat. In Kitkat che ottiene la risposta come "errore di cattura immagine"

può dirmi qual è il problema in Kitkat Grazie in anticipo ...!

+0

Quale versione cordova usi? Controllalo nel terminale digitando 'cordova -v' e per favore anche la versione di cordova android nel tuo progetto. Per verificare che esegua 'versione della piattaforma cordova' all'interno della directory del progetto. – Sithys

+0

@ Sithys sta usando cordova 4.2.0. e cercando di eseguire in kitkat 4.4.4 –

+0

ho bisogno della versione piattaforma di cordova android per favore. Ci sono stati molti problemi con Kitkat a causa della nuova webview implementata. Quindi ... penso, stai scoprendo uno dei problemi già risolti. Esegui il tuo cmd come amministratore su Windows, o inizia con 'sudo' su mac. 'npm update -g cordova' – Sithys

risposta

0

Hai commesso un errore nel codice. destinationType: destinationType.FILE_URI, non funzionerà. Cambia invece quella linea in destinationType: Camera.DestinationType.FILE_URI, e verrà eseguita. Ecco il tuo codice di lavoro completo:

function snapPicture() { 
     navigator.camera.getPicture(onSuccess, onFail, { quality: 100, 
      sourceType: navigator.camera.PictureSourceType.CAMERA, 
      mediaType: navigator.camera.MediaType.PICTURE, 
      destinationType: Camera.DestinationType.FILE_URI, 
      encodingType: navigator.camera.EncodingType.JPEG, 
      correctOrientation: false, 
      saveToPhotoAlbum: true 
      }) 


      //A callback function when snapping picture is success. 
      function onSuccess (imageData) { 
       var image = document.getElementById ('picture'); 
       alert("path : "+imageData); 
       image.src = imageData; 
      } 

      //A callback function when snapping picture is fail. 
      function onFail (message) { 
       alert ('Error occured: ' + message); 
      } 
    } 

vi consiglio di utilizzare GapDebug per eseguire il debug di applicazioni.

+1

Ho provato il codice, ma ho ancora ricevuto l'errore "Errore nell'acquisizione dell'immagine". questo errore solo in Android Kitkat –

+0

Hai provato a usare GapDebug come ho detto? – Sithys

Problemi correlati