Deviceready no disparará en Phonegap 1.0.0 en Android

He intentado configurar Phonegap en Android y deviceready no se disparará. La razón es que DeviceInfo.uuid siempre es nulo / indefinido.

Parece que las partes no-javascript de phonegap no se cargan correctamente, pero no puedo ver exactamente qué. Para todo fuera del directorio www estoy usando el código proporcionado en el directorio de ejemplo de la descarga de teléfono.

Alguien sabe lo que puede estar causando esto?

 <!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> 

En caso de que alguien tropezar en este problema.

No me había dado cuenta de que phonegap-1.0.0.js es diferente para el iPhone y la versión de Android. Tiene el mismo nombre, pero el contenido es diferente. Por lo tanto, uno debe cargar el archivo correcto. Lo resolví así:

 <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> 

Si desea que alguna función se ejecute cuando el dispositivo está listo hacer algo como esto

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

No estoy seguro de por qué su código no funciona. Intente colocar el documento.addEventListener fuera del ámbito de la función.

  • EPIPE (Broken Pipe) Bug mientras se utiliza FileTransfer-plugin con cordova 2.0
  • Creación de una aplicación móvil multiplataforma para SharePoint 2013
  • Phonegap - Error: el alias del almacén de claves no se reconoce
  • No se puede actualizar la vista, el enlace de datos no funciona - Angularjs y PhoneGap
  • Android: abra los enlaces de Play Store desde la aplicación PhoneGap
  • Phonegap - No se puede descargar el archivo desde el servidor
  • ¿Por qué Cordova / Phonegap agrega 8 a mi código de versión de Android?
  • Escalado de la vista de Android 4.1 (setInitialScale, meta-escala inicial no funciona)
  • Phonegap instancia única
  • Cómo solucionar los archivos / carpetas de autoomitar que empiezan con "_" (subrayado) en la carpeta de activos
  • Añadiendo un recurso extraíble usando Cordova
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.