АРР,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
, но тем же вопросом точно.
Я видел эту проблему, упомянутую ранее, но не могу найти исправление для нее, есть ли она? Есть лучший способ сделать это?
ли все соответствующие разрешения и функции в месте? Проверьте ответы на [этот вопрос] (// stackoverflow.com/q/18690388) –