2016-05-14 69 views
1

我的Android应用程序需要拍照,但Camera插件不起作用。当我点击按钮时没有任何反应。Phonegap相机不工作

的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> 

我添加第二个按钮只检查按钮的作品(和它)。

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> 

我想有和没有权限。我尝试了不同的插件。我试着用这个要点:https://gist.github.com/dhavaln/2238017

而且还代码本教程: https://www.youtube.com/watch?v=KlBfmHDZjmg

没有什么工作。我浪费了大量的时间来完成这项工作。请帮帮我。

+0

您是否在启动应用程序时看到“就绪”消息。 (没有点击提醒按钮)? – NineBerry

+0

是的,每次都有效。 –

+1

尝试使用'adb logcat'来查看运行应用程序时是否有任何有意义的提示或警告输出。 – NineBerry

回答

1

我已经使用这个最小​​3210文件,HTML文件时的PhoneGap构建服务器和您所提供的作品的HTML代码(从我的其他答案的变化)测试此。另外,请确保不要将Zip存档中的phonegap.js上传到构建服务器。在构建过程中会自动添加额外的一个。

<?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

它适用于您的xml。非常感谢你:) –

0

在两个不同的地方使用名为image的变量。但这些是两个不同的变量。在onSuccess函数中获取需要它的图像引用。

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

我改变了这一点,但没有帮助。仍然不起作用。 –