0
undefined

Ich versuche, Cordova Kamera-Plugin von meinem Mobile Angular UI Projekt zuzugreifen.navigator.camera in AngularJS/Cordova Projekt

navigator.geolocation arbeitet mit allen anderen Cordova Sachen finden zusammen, aber wenn ich versuche, navigoator.camera zugreifen es kommt wieder als nicht definiert.

Wenn ich console.log (Navigator) Kamera ist nicht im Lieferumfang enthalten:

Screenshot of navigator output

Das Plugin wurde mit dem folgenden Befehl installiert und es ist in meinem Plugin-Ordner:

cordova Plugin hinzufügen cordova -plugin-Kamera

enter image description here

ich derzeit versuche ich zugreifen t mit einer Fabrik wie folgt aus:

angular.module('App.services.Camera', [ 
    'App.services.Cordova' 
]) 

.factory('openCamera', function(deviceReady, $document, $window, $rootScope){ 
    return function(done) { 
    deviceReady(function() { 
     var srcType = Camera.PictureSourceType.CAMERA; 
     var options = setOptions(srcType); 
     var func = createNewFileEntry; 
     navigator.camera.getPicture(function cameraSuccess(imageUri) { 
     $rootScope.$apply(function(){ 
      done(imageUri); 
     }); 
     displayImage(imageUri); 
     func(imageUri); 
     }, function cameraError(error) { 
      console.debug("Unable to obtain picture: " + error, "app"); 

     }, options); 
    }); 
    }; 
}); 

Muss ich das Plugin irgendwo verweisen, es zu meinem Projekt hinzuzufügen, oder bin ich der Installation der falsch-Plugin?

+1

Vielleicht finden Sie es einfacher zu bedienen [ngCordova] (http://ngcordova.com), wenn du willst das machen. Probierst du es auch im Browser? Das wird nicht funktionieren - es wird nur auf einem mobilen Gerät funktionieren. –

+0

Ich hatte es nur so weit gemacht wie der Emulator, der offensichtlich auch nicht funktioniert hat. Weißt du, ob es eine Möglichkeit gibt, im Browser zu testen? Das Testen auf einem Gerät wird im Vergleich dazu sehr zeitaufwendig sein. – wtmcm

+0

Nein, gibt es nicht. Ich benutze Phonegap Build, das die App auf den Servern von Adobe erstellt, und im Allgemeinen kann ich in wenigen Minuten einen neuen Aufbau aufbauen und laufen. iOS dauert länger als Android. –

Antwort

1

Schnellcheckliste.

  • Fügen Sie das Plug-in in der Konfiguration hinzu. XML? (Wenn nicht, hinzugefügt. Dies wird in jedem Build überprüfen, ob die Plug-Ins für die Plattform installiert wurden)

  • Testen Sie in einem echten Gerät? Plug-in wird auf Browsern nicht funktionieren (das ist, was ich denke, passiert ist, so laufen Sie auf dem Gerät: ionic run android)

+0

Ja, ich habe es nicht auf einem echten Gerät ausgeführt. Vielen Dank! – wtmcm