2014-05-22 3 views
6

Ich verwende Cordova 3.4 mit Kamera Plugin (https://github.com/apache/cordova-plugin-camera/blob/master/doc/index.md)Cordova 3.4.0 navigator.camera.getPicture nicht onSuccess oder onFail für Android hat Rückruf 4.3

Als ich

navigator.camera.getPicture(onSuccess, onFail, { 
     quality: 75, 
     destinationType: window.Camera.DestinationType.FILE_URI, 
     sourceType: window.Camera.PictureSourceType.CAMERA, 
     //allowEdit: true, 
     //cameraDirection: window.Camera.Direction.FRONT, 
     //encodingType: window.Camera.EncodingType.JPEG, 
     //targetWidth: 100, 
     //targetHeight: 100, 
     //popoverOptions: window.CameraPopoverOptions, 
     saveToPhotoAlbum: true 
    }); 
function onSuccess(imageData) { 
    alert(imageData); 
} 
function onFail(message) { 
    alert('Failed because: ' + message); 
} 
nennen

Dieser Code funktioniert für Windows Phone 8.1 funktioniert aber nicht für Android 4.3 (Jelly Bean). Wenn ich in Code in Eclipse Schritt, kann ich sehen, dass es erfolgreich speichert Foto unter Android Temp-Verzeichnis, aber nicht aufrufen, JavaScript-Erfolg oder fehlschlagen Ereignis bei Abschluss, deshalb kann ich nicht Bild auf Android bekommen.

Ich habe beide auf Galaxy Note 2 Real Gerät und Emulator versucht und OnSuccess auf beiden nicht aufgerufen.

Gibt es bekannte Probleme oder Workarounds für dieses Problem?

+0

Bitte überprüfen Sie http://stackoverflow.com/questions/23653961/cordova-plugin-callback-received-after-second-plugin-call. Starten Sie Ihre Anwendung im Vollbildmodus? –

+0

@Teoman Ist dieses Problem behoben? Ich bin auch mit dem gleichen Problem mit Cordova konfrontiert 3.5 – Konza

+0

sind Sie dieses Problem gelöst .. – Aravin

Antwort

0

testen Optionen:

destinationType: navigator.camera.DestinationType.FILE_URI 
sourceType: source 
mediaType: media 
+0

Was sollten die Werte für sourceType und mediaType sein? etwas Gültiges? –

+0

Quelle: navigator.camera.PictureSourceType.SAVEDPHOTOALBUM Medien: navigator.camera.MediaType.Picture – Xcihnegn

+0

Hallo Teoman shipahi, funktioniert oder nicht? Vielen Dank! – Xcihnegn

0

Wenn dies nicht funktioniert, lassen Sie mich diese Optionen vorschlagen. Sie arbeiten auf den Plattformen 4.2.2 (Jellybean) android und 4.4.2 (Kitkat).

navigator.camera.getPicture(this.onPhotoDataSuccess, this.onFail, { 
      quality: 50, 
      destinationType: Camera.DestinationType.DATA_URL, 
      sourceType: Camera.PictureSourceType.CAMERA 

     }); 

// Lesen und Anhängen des DOM

onPhotoDataSuccess(imageData) { 
     var smallImage = document.getElementById('smallImage'); 
     smallImage.style.display = 'block'; 
     smallImage.src = "data:image/jpeg;base64," + imageData; 
    } 

Dies wird eine Base64-codierte Bild zurück.

+0

es funktioniert überhaupt nicht .. – Aravin

+0

Sind die cordova-Bestimmungen für das Telefon für den Zugriff auf Ihr Telefon verfügbar? –

0

Wenn es jemand hilft, hatte ich das gleiche Problem. Es stellte sich heraus, dass ich "navigator.camera.cleanup()" im Cordova "pause" -Event der App anrief (so dass es Ressourcen bereinigt, wenn die App in den Hintergrund geschickt wurde). Das Problem hierbei war, dass die Kamera die App in den Hintergrund schickte, so dass das Aufräumen scheinbar die Dinge bereinigen sollte.

Verwandte Themen