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.

  • Cómo enviar la notificación push usando phonegap y analizar
  • Phonegap 2.1.0 y android 4.1: Problema de entrada de texto
  • Las cookies de sesión de Cordova no funcionan en Android Lollipop
  • Anclaje inverso de Android sobre usb (no raíz)
  • Cómo incrustar el video de Youtube en la aplicación para Android de Cordova
  • Error de compilación Android jónico: la generación falló con una excepción
  • phonegap android ajax solicita trabajo para GET pero no POST
  • Dónde cambiar la configuración de minSdkVersion en la aplicación PhoneGap
  • Cordova android: Cargando datos de la base de datos con desplazamiento infinito en onsenui
  • Comunicación entre Android Java y Phonegap Javascript?
  • Aplicación Android de HTML5 - Android Marketplace
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.