【发布时间】:2015-08-17 20:32:57
【问题描述】:
在 phonegap 应用程序中,如果通过 PhoneGap Desktop 运行,则定义设备。但是,如果是通过build.phonegap在线构建的,那么就没有定义了。
在 build.phonegap 中的 plugins 下,它显示了 config.xml 文件中定义的核心插件(例如,)都在那里。但是任何尝试访问设备的线路都会收到“设备未定义”错误,而使用 PhoneGap Desktop 时不会发生此错误。
对于PhoneGap Desktop,我发现秘诀是添加对cordova.js 的脚本引用。但这显然不适用于 build.phonegap。我还尝试添加对 phonegap.js 的类似引用,但没有结果。
PS:另一条信息。为了进一步调试,我尝试使用设备将代码包装在“if”块中,检查设备是否准备好。因此,在 PhoneGap Desktop 上,deviceready 事件被触发,但在 build.phonegap 上,它永远不会准备好。
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function() {
app.readyNow = true;
app.receivedEvent('deviceready');
},
...
if(app.readyNow) {
//Code to use device object. Fires with PhoneGap Desktop, not in PhoneGap Build
}
【问题讨论】:
标签: javascript android cordova phonegap-plugins phonegap-build