deviceready n'a pas tiré sur phonegap 2.9.0 avec sencha touch 2
- Je utiliser PhoneGap 2.9.0 et SenchaTouch pour développer mon application Android (targetSdkVersion 16).
Lors du démarrage de l'application dans google Chrome, j'ai obtenu les journaux :
Falling back on PROMPT mode since _cordovaNative is missing. Expected for Android 3.2 and lower only. cordova.js:912
deviceready has not fired after 5 seconds. cordova.js:6725
Channel not fired: onCordovaConnectionReady cordova.js:6718
Channel not fired: onCordovaInfoReady cordova.js:6718
Quand je l'ai tester dans la tablette Samsung (Android 4.1.2), la première ligne a disparu, mais le 3 événements sont toujours pas viré.
Cependant, il semble SenchaTouch fonctionne très bien: le point de vue de l'affichage et les interactions des œuvres que j'attends.
Voici le chef de la section de index.html:
<head>
<meta charset="UTF-8">
<title>title</title>
<!-- The line below must be kept intact for Sencha Command to build your application -->
<script id="microloader" type="text/javascript" src="touch/microloader/development.js"></script>
<style type="text/css">
some css here
</style>
<script type="text/javascript" charset="utf-8" src="pg/cordova.js"></script>
<script type="text/javascript" charset="utf-8" src="pg/barcodescanner.js"></script>
</head>
- Je utiliser des API phonegap comme Appareil photo et Fichier. Comme PhoneGap reçoit jamais deviceready, l'API n'est pas disponible, de sorte navigator.la caméra n'est pas défini.
J'ai fait un câlin de la recherche, mais tout ce que je testés ne permet pas de résoudre le problème. Tout conseil est le bienvenu
Merci d'avance
OriginalL'auteur panda | 2013-07-24
Vous devez vous connecter pour publier un commentaire.
Eu le même problème, mais dans mon cas c'était dû au fait que j'ai référencé plugins dans mon config.xml que je n'ai pas instancié dans mon application.
Il vous suffit de commenter jusqu'à temps que j'ai référencé dans mon code m'a donné l'immédiat "Phonegap est prêt".
Grâce à la: http://community.phonegap.com/nitobi/topics/deviceready_has_not_fired_after_5_seconds
C'est un assez vieux thread, donc j'espère que c'est encore de l'utiliser. Ma suggestion est de tout supprimer mais le plugin à partir de votre confix.xml et puis voir si il se charge correctement. Mon erreur était due à ajouter des éléments supplémentaires à l'intérieur de mon fichier xml, mais ne les appelle pas au sein de mon application - de sorte qu'il semble être bloqué, en attente pour les événements à feu sur la page. Pouvez-vous partager un peu de code?
J'ai résolu. Le problème était le PhoneGap.js inclus deux fois par Sencha Touch micro chargeur, en raison d'un problème de configuration et de documentation dans le flou sur cet aspect
OriginalL'auteur Fraccus
Je vous recommande d'essayer avec un chiffon propre non-sencha html, juste à la trace si l'erreur provient sencha ou phonegap
Désolé, je voulais juste un exemple de code html. Avez-vous essayé les actifs inclus dans la "exemple"?
l'exemple fonctionne, j'ai reçu l'événement. Je doute que le temps de chargement des Sencha Touch est trop long. J'ai essayé de cordova.js avant de sencha de microloader: aucun cas de feu et j'ai eu un écran blanc..
Je recommande d'utiliser le sencha cmd pour générer l'application et de nouveau à construire. N'oubliez pas d'utiliser le sencha app construire ensemble, cp build/app/package pour votre android actifs. Aditionally ajouter l'cordova.js dans l'application.json de cette façon, vous ne touchez à rien à l'index.html. Ensuite, faire usage de l '"événement ready' on pourrait ajouter quelque chose dans l'app.js::lancer().
OriginalL'auteur Nico Grunfeld
Le problème est causé par un codée en dur dans le temps lors du chargement de l'url. Ce délai d'attente se produit en raison de la taille de la page, généré par Sencha Touch, ne peut pas être calculé. Malheureusement je ne peux pas trouver les ressources que j'ai utilisé pour résoudre ce problème dans le passé, donc corrigez-moi si je me trompe, mais ma solution a été de créer un fichier html avec une redirection vers le réel index.html.
OriginalL'auteur kevin2knl
Selon la iOS 8 Bêta 1 notes (WebKit), c'est un problème connu qui Cordova/Phonegap applications sont actuellement cassé à cause d'un agent utilisateur bug.
L'application de cette mesure temporaire "fix" résolu mes problèmes avec le "deviceready" événement à ne pas être licencié.
https://stackoverflow.com/a/24069550
OriginalL'auteur Drastick
OriginalL'auteur kapil