繁体   English   中英

Cordova 3.5 deviceready事件在5秒后未被触发

[英]Cordova 3.5 deviceready event not fired after 5 seconds

我最近将我的cordova应用程序从cordova v2.9升级到v3.5.0。 从命令行添加插件后,我将我的应用程序导入到eclipse,以便我可以在Android设备上进行测试。 但是,当我运行应用程序时,我在下面看到了logcat消息:

07-08 11:24:03.359: I/Web Console(1500): deviceready has not fired after 5 seconds. at file:///android_asset/www/cordova/cordova.js:1154

07-08 11:24:03.359: D/CordovaLog(1500): file:///android_asset/www/cordova/cordova.js: Line 1147 : Channel not fired: onFileSystemPathsReady

07-08 11:24:03.359: I/Web Console(1500): Channel not fired: onFileSystemPathsReady at file:///android_asset/www/cordova/cordova.js:1147

根据Cordova Device ready doc ,我必须在document.ready()绑定deviceready 它没有开火。 还尝试根据SO上的一些答案将其绑定到document.ready()之外。 仍然没有运气。 有人可以帮我吗???

设备就绪事件绑定

function cordovaInit() {
    document.addEventListener('deviceready', initApp, false);
}

我从body元素的onload()调用cordovaInit() ,如下所示:

<body onload="cordovaInit()">

设备准备问题现在已经消失,但我得到一个Nullpointer异常,如下所示:

07-08 18:58:40.750: W/System.err(6670): java.lang.NullPointerException
07-08 18:58:40.750: W/System.err(6670):     at org.apache.cordova.file.LocalFilesystem.filesystemPathForURL(LocalFilesystem.java:67)
07-08 18:58:40.750: W/System.err(6670):     at org.apache.cordova.file.LocalFilesystem.getFileForLocalURL(LocalFilesystem.java:189)
07-08 18:58:40.750: W/System.err(6670):     at org.apache.cordova.file.FileUtils.getFile(FileUtils.java:749)
07-08 18:58:40.760: W/System.err(6670):     at org.apache.cordova.file.FileUtils.access$5(FileUtils.java:742)
07-08 18:58:40.760: W/System.err(6670):     at org.apache.cordova.file.FileUtils$16.run(FileUtils.java:397)
07-08 18:58:40.760: W/System.err(6670):     at org.apache.cordova.file.FileUtils$23.run(FileUtils.java:525)
07-08 18:58:40.760: W/System.err(6670):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
07-08 18:58:40.760: W/System.err(6670):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
07-08 18:58:40.760: W/System.err(6670):     at java.lang.Thread.run(Thread.java:856)

同样的问题。 尝试删除/更新它为我工作的文件插件(org.apache.cordova.file)。 OnFileSystemReady是该插件的事件。

我找到的其他东西,尝试添加一个SD卡到您的模拟器

我发现我的初始错误是文件插件不被允许访问文件空间,这是因为它在模拟器中不存在,我在模拟器定义中添加了一个外部卡并且嘿presto它工作

通过卸载cordova.file插件(以及使用它的所有plaugins)解决了同样的问题,卸载平台,将cordova升级到v4并安装所有插件

只想添加我今天遇到的问题与cordova 4.0.0我怀疑这不仅仅是File插件,因为我的问题是网络信息插件(org.apache.cordova.network-information)

背景故事:我已将项目复制到一个新文件夹并复制到plugins/目录(我知道不要复制先前错误的platforms )。 这使得应用程序正确加载chrome并正确构建,但在我的设备上显示白屏。 通过转到chrome://inspect/#devices调试并查看控制台日志我看到这是因为设备就绪事件在5秒后没有触发。

修复:我删除了带有cordova plugin remove org.apache.cordova.network-information并重新添加了cordova plugin add org.apache.cordova.network-information

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM