我正在创建一个能够拍照并将其上传到服务器的应用。手机将保存生成的ID。
我创建了一个类abstractApp,它创建了一个带有几个帮助器和变量的App对象。我使用的是Framework7。
var App;
document.addEventListener("deviceready", function() {
App = new abstractApp();
var i;
App.f7Ref = new Framework7({init: false});
for (i = 0; i < App.constants.views.length; i++)
{
if (i==0)
App.mainView = App.f7Ref.addView (
App.constants.views[i].selector,
App.constants.views[i].settings );
else
App.f7Ref.addView (
App.constants.views[i].selector,
App.constants.views[i].settings );
}
// Checks if there exists register of remote photos
if ( App.local.get('remotephotos', false) == null || App.local.get('remotephotos', false) == '' )
{
App.remotephotos = [];
App.local.set('remotephotos', []);
}
else
{
App.remotephotos = App.local.get('remotephotos');
}
// Checks if there exists register of local photos
if ( App.local.get('localphotos', false) == null || App.local.get('localphotos', false) == '' )
{
App.localphotos = [];
App.local.set('localphotos', []);
}
else
{
App.localphotos = App.local.get('localphotos');
}
for (i = 0; i < appControllers.length; i++)
{
appControllers[i].apply(App);
}
console.log(App);
}, false);
在appControllers中我保存与每个页面相关的功能(因此它更有条理)。只有索引和新照片控制器我没有问题,我可以将事件附加到元素并在视图之间导航。问题是调用相机对象。
window.appControllers.push(function()
{
var $$ = Dom7;
var Ref = this.f7Ref;
var server = new serverInterface();
var photos = this.remotephotos;
var App = this;
Ref.onPageInit('new', function (page) {
Ref.alert('entra', 'entra');
$$('.capture').on('click', function () {
Ref.alert('Click', 'Click detected');
navigator.camera.getPicture(onSuccess, onFail,
{
quality: 20,
destinationType: destinationType.FILE_URI
});
function onSuccess(imageURI) {
Ref.alert('Photo captured.', 'Bien');
}
function onFail(message) {
Ref.alert('There was a problem.', 'Ups');
}
});
});
});
所以,我进入新页面,然后点击带有卡斯捕获的按钮,出现警报(点击检测到),但它没有显示相机拍摄照片。
我使用Phonegap Build和Android手机,你知道发生了什么吗?
非常感谢您提前
答案 0 :(得分:0)
问题不在于我引用的javascript代码。
我在config.xml中加载了相机插件,就像这样
<gap:plugin name="org.apache.cordova.camera" />
但它应该以这种方式加载:
<plugin name="cordova-plugin-camera" />
如果未正确加载插件,则会显示Phonegap Build:已安装版本n / a。在这种情况下,正确加载时,会显示:安装版本2.1.0。
有关此主题的更多信息,请访问:http://phonegap.com/blog/2015/11/19/config_xml_changes_part_two/
希望它也可以帮助其他人
此致