2016-05-14 18 views
1

Meine Android-App muss Bilder machen, aber Camera Plugin funktioniert nicht. Wenn ich auf den Knopf klicke, passiert nichts.Phonegap Kamera funktioniert nicht

index.html

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Capture Photo</title> 
    <meta name="viewport" content="width=device-width,height=device-height,initial-scale=1"/> 
    <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> 
    <script type="text/javascript" charset="utf-8">  
    document.addEventListener("deviceready",onDeviceReady,false); 
     function onDeviceReady() {    
      alert("ready"); 
     } 
    function capturePhoto() 
    { 
     navigator.camera.getPicture(onSuccess, onFail, { quality: 50, 
     destinationType: Camera.DestinationType.FILE_URI }); 
    } 

    function onSuccess(imageURI) { 
     var image = document.getElementById('myImage'); 
     image.src = imageURI; 
    } 

    function onFail(message) { 
     alert('Failed because: ' + message); 
    }  

</script> 
    </head> 
    <body> 
    <button onclick="capturePhoto()">Capture</button> <br> 
    <button onclick="onDeviceReady()">alert</button> <br> 
    <img id="myImage" src="" /> 
    </body> 
</html> 

Ich habe nur zweite Taste, wenn die Taste Werke prüfen (und es tut).

config.xml

<?xml version="1.0" encoding="UTF-8" ?> 
<widget xmlns= "http://www.w3.org/ns/widgets" 
     xmlns:gap= "http://phonegap.com/ns/1.0" 
     id= "testaplikacji" 
     versionCode= "1" 
     version = "1.0.0" > 
    <name>Camera</name> 
    <description>Camera test</description> 
    <author>Sebastian</author> 
    <gap:platform name="android" /> 
    <gap:plugin name="org.apache.cordova.dialogs" /> 
    <gap:plugin name="org.apache.cordova.camera" /> 
    <gap:plugin name="cordova-plugin-camera" /> 

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


    <access origin="*"/> 
    <gap:config-file platform="android" parent="/manifest" mode="add" xmlns:android="http://schemas.android.com/apk/res/android"> 
     <uses-permission android:name="android.permission.CAMERA"></uses-permission> 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    </gap:config-file> 

</widget> 

habe ich versucht, mit und ohne Berechtigungen. Ich habe verschiedene Plugins ausprobiert. Ich habe versucht, mit diesem Kern: https://gist.github.com/dhavaln/2238017

Und auch Code aus diesem Tutorial: https://www.youtube.com/watch?v=KlBfmHDZjmg

Nichts funktioniert. Ich verschwende viel Zeit, um zu versuchen, dass das funktioniert. Bitte hilf mir.

+0

Sehen Sie die Meldung "Fertig", wenn Sie Ihre App starten. (Ohne auf den Alarmknopf zu klicken)? – NineBerry

+0

Ja, funktioniert jedes Mal. –

+1

Versuchen Sie, 'adb logcat' zu verwenden, um zu sehen, ob beim Ausführen der App sinnvolle Hinweise oder Warnungen ausgegeben werden. – NineBerry

Antwort

1

Ich habe diesen Server mit dem phonegap Build getestet und dem HTML-Code, den Sie Werke geliefert (mit dem Wechsel von meiner anderen Antwort), wenn sie mit dem HTML-Datei diese minimalen config.xml-Datei. Stellen Sie außerdem sicher, dass Sie die phonegap.js im Zip-Archiv nicht auf den Build-Server hochladen. Ein zusätzliches wird automatisch während des Builds hinzugefügt.

<?xml version="1.0" encoding="UTF-8" ?> 
    <widget xmlns = "http://www.w3.org/ns/widgets" 
     xmlns:gap = "http://phonegap.com/ns/1.0" 
     id   = "com.stackoverflow.example.SO37227132" 
     versionCode = "10" 
     version  = "1.0.0" > 

    <!-- versionCode is optional and Android only --> 

    <name>PhoneGap Example</name> 

    <description> 
     An example for phonegap build docs. 
    </description> 

    <author href="https://build.phonegap.com" email="[email protected]"> 
     Hardeep Shoker 
    </author> 

    <platform name="android" /> 
    <plugin name="org.apache.cordova.camera" source="pgb" /> 
</widget> 
+0

Es funktioniert mit Ihrem XML. Vielen Dank:) –

0

Sie verwenden eine Variable namens image an zwei verschiedenen Orten. Aber das sind zwei verschiedene Variablen. Holen Sie sich die Bildreferenz in der onSuccess-Funktion, wo Sie sie benötigen.

function onSuccess(imageURI) 
{ 
     var image = document.getElementById('myImage'); 
     image.src = imageURI; 
} 
+0

Ich habe das geändert, aber es hat nicht geholfen. Funktioniert immer noch nicht. –