PhoneGap的ondeviceready在5秒后仍未触发

3

我正在使用Weinre调试我的PhoneGap应用程序,但是经常出现以下错误...

设备未在5秒钟内准备就绪。

频道未触发:onPluginsReady

频道未触发:onCordovaReady

频道未触发:onCordovaConnectionReady

我正在使用条形码扫描器插件,并使用PhoneGap网站提供的远程服务进行编译。同时,在Android 2.3上使用PhoneGap 3.2。

this.initialize = function(){
    this.bindEvents();
};

this.bindEvents = function(){
    console.log('binding events...');
    document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
};
this.onDeviceReady(){
...
};

在页面的 onload 事件中调用 initialize 函数。


1
难道不应该是 document.addEventListener('deviceready', this.onDeviceReady, false); 吗? - Rajesh
3个回答

0
一个全新的PhoneGap项目是否能在PhoneGap 3.2.0上运行? 我们也遇到了同样的问题,结果发现即使是库存示例Web应用程序在使用PhoneGap 3.2.0时也会出现相同的错误:
[Log] deviceready has not fired after 5 seconds. (phonegap.js, line 1078)
[Log] Channel not fired: onCordovaInfoReady (phonegap.js, line 1071)

不确定为什么。降级到3.0.0是一种解决方法:

npm install -g phonegap@3.0.0-0.14.4 cordova@3.0.10

然后创建一个新的PhoneGap项目,并尝试使用3.0.0版本运行它。对我们来说是这样。


0
在我的情况中,问题出现在 cordova.js 和插件上。我从 iOS 版本获得了它,而不是从 Android 版本,导致了一个错误的出现。

-3
请使用以下方法。
function onDeviceReady() {
    alert("on device ready");
}

document.addEventListener("deviceready", onDeviceReady, false); 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接