2015-12-08 2 views
1

АРР,PhoneGap сборки - Uncaught TypeError: Не удается прочитать свойство «getPicture» неопределенной

Я пытаюсь создать простое приложение, которое делает снимок, я тестирование PhoneGap сборки

Когда приложение нагрузки я получаю журнал консольный говоря deviceready - который регистрируется, когда устройство готово

ПРОБЛЕМА

При нажатии на кнопку, чтобы запустить камеру, я получаю ошибку консоли:

Uncaught TypeError: Cannot read property 'getPicture' of undefined

JS/HTML

<button onclick="app.takePicture();">Take Picture</button> 

<script type="text/javascript" src="phonegap.js"></script> 
<script> 
var app = { 
    // Application Constructor 
    initialize: function() { 
     this.bindEvents(); 
    }, 
    // Bind Event Listeners 
    // 
    // Bind any events that are required on startup. Common events are: 
    // 'load', 'deviceready', 'offline', and 'online'. 
    bindEvents: function() { 
     document.addEventListener('deviceready', this.onDeviceReady, false); 
    }, 
    // deviceready Event Handler 
    // 
    // The scope of 'this' is the event. In order to call the 'receivedEvent' 
    // function, we must explicity call 'app.receivedEvent(...);' 
    onDeviceReady: function() { 
     app.receivedEvent('deviceready'); 
    }, 
    // Update DOM on a Received Event 
    receivedEvent: function(id) { 
     var parentElement = document.getElementById(id); 
     var listeningElement = parentElement.querySelector('.listening'); 
     var receivedElement = parentElement.querySelector('.received'); 

     listeningElement.setAttribute('style', 'display:none;'); 
     receivedElement.setAttribute('style', 'display:block;'); 

     console.log('Received Event: ' + id); // <-- this works ok 
    }, 

    takePicture: function() { 
     navigator.camera.getPicture(function(imageURI) { 
     alert(imageURI); 
     }, 
     function(message) { 
     alert(message); 
     }, 
     { 
     quality: 50, 
     destinationType: Camera.DestinationType.FILE_URI 
     }); 
    } 
}; 

app.initialize(); 
</script> 

Я также попытался с cordova.js, но тем же вопросом точно.

Я видел эту проблему, упомянутую ранее, но не могу найти исправление для нее, есть ли она? Есть лучший способ сделать это?

+0

ли все соответствующие разрешения и функции в месте? Проверьте ответы на [этот вопрос] (// stackoverflow.com/q/18690388) –

ответ

2

Придумал это, хотя не может найти это документально!

Убедитесь, что вы добавьте в файл config.xml:

<plugin name="org.apache.cordova.camera" spec="0.3.6" source="pgb" /> 

Это в основном, от того, что я могу собрать, создает объект navigator

 Смежные вопросы

  • Нет связанных вопросов^_^