deviceready不会在Android上的Phonegap 1.0.0中触发

我试图在Android上设置Phonegap, deviceready不会触发。 原因是DeviceInfo.uuid始终为空/未定义。

好像phonegap的非JavaScript部分没有正确加载,但我不能看到究竟是什么。 对于www目录之外的所有内容,我使用phonegap下载示例目录中提供的代码。

任何人都知道这可能是什么原因?

 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" /> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <script type="text/javascript" charset="utf-8" src="javascripts/phonegap-1.0.0.js"></script> <script src="http://debug.phonegap.com/target/target-script-min.js#something"></script> <script type="text/javascript" charset="utf-8"> function onBodyLoad() { var initialize = function() { window.console.log("deviceready||resume"); }; document.addEventListener("deviceready", initialize); document.addEventListener("resume", initialize); window.console.log("onBodyLoad!"); } </script> </head> <body onload="onBodyLoad()"> <h1>Herro World</h1> </body> </html> 

Solutions Collecting From Web of "deviceready不会在Android上的Phonegap 1.0.0中触发"

如果有人遇到这个问题。

我还没有意识到iPhone和Android版本的phonegap-1.0.0.js是不同的。 它具有相同的名称,但内容不同。 因此,必须加载正确的文件。 我解决了这个问题:

 <script type="text/javascript"> // Atrocious way of loading two diffent phonegap scripts, but other loading methods won't work. // also there shouldn't be two scripts to begin with -- so much for cross-platform. var userAgent = navigator.userAgent.toLowerCase(); if (userAgent.match(/android/)) { document.write("<script type='text/javascript' src='javascripts\/phonegap-android-1.0.0.js'><\/script>"); } else { document.write("<script type='text/javascript' src='javascripts\/phonegap-iphone-1.0.0.js'><\/script>"); } </script> 

如果你想在设备准备就绪的时候执行一些function,可以这样做

 document.addEventListener("deviceready", onDeviceReady, true); // PhoneGap is now ready function onDeviceReady() { // Write your code here } 

我不知道为什么你的代码不工作。尝试将document.addEventListener放在函数的作用域之外。