2016-05-14 66 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

我改變了這一點,但沒有幫助。仍然不起作用。 –