【发布时间】:2014-08-28 18:04:42
【问题描述】:
我最近将我的 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()">
deviceready 问题现在已经消失,但我收到如下 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)
【问题讨论】:
-
您能否发布您的代码。
-
你想要代码的哪一部分?我绑定 deviceready 事件的代码??
-
是的,绑定 deviceready 事件的代码
-
编辑了问题并添加了绑定
deviceready事件的代码 -
您是否添加了
device插件?之后您是否重新构建了应用程序?
标签: android cordova cordova-3 cordova-plugins