2011-05-25 5 views
2

J'ai créé une application PhoneGap simple qui, en ce moment, prend une photo lorsque vous appuyez sur un bouton, puis affiche l'image dans une image sur la même page. J'ai construit des versions iOS et Android, et la version iOS fonctionne très bien. La version Android, en revanche, met en évidence le bouton mais ne passe jamais à une activité de caméra. Quel pourrait être le problème? Ma première pensée était que le problème est dans le code Javascript dans mon fichier index.html. Donc, j'ai complètement remplacé le contenu de mon index.html avec le "Full Example" du PhoneGap API Camera reference page. Cette page affiche quatre boutons, chacun déclenchant une fonction Javascript qui utilise PhoneGap pour acquérir une image d'une manière ou d'une autre. L'application se construit sans erreur et démarre sur mon appareil de test (HTC Evo 4G). Encore une fois, cependant, appuyer sur l'un des boutons provoque la mise en surbrillance de ce bouton, mais rien d'autre ne se passe. J'utilise un PhoneGap 0.95 récemment téléchargé, le dernier SDK Android (téléchargé et installé il y a deux jours), et Eclipse avec le plugin ADT.L'application PhoneGap ne répond pas sur Android

Quelqu'un peut-il me donner quelques idées sur la façon de commencer le débogage?

Editer: Pour ce que ça vaut, j'ai mis en place mon projet Android en suivant les étapes du PhoneGap Get Started Guide for Android. J'ai modifié le fichier AndroidManifest.xml selon les directions et il en utilisant exactement le texte des directions, de sorte que la première ligne après le bloc <supports-screens ... /> est:

<uses-permission android:name="android.permission.CAMERA" /> 

Répondre

1

Caleb>

je suis tombé par exactement même problème avec phonegap android + HTC EVO 4G.

Peut-être avez-vous déjà compris cela. Au cas où,

La cause première de l'exemple d'application par défaut ne fonctionne pas est l'URL incorrecte pour le src javascript dans le fichier index.html généré dans le dossier example_android.

 
    -- PROBLEM: I noticed that index.html in the example_android folder is linking to a js file don't exist. 
     type="text/javascript" charset="utf-8" src="phonegap.0.9.5.min.js" 
    changed it to  
     type="text/javascript" charset="utf-8" src="phonegap.0.9.5.js" 

Après avoir enlevé ".min" du src attrib, reconstruire application Android et redéployer sur mon téléphone Android. Tout commence à bien fonctionner.

+0

Exceptionnel - merci pour cela. Je vais essayer dès que possible. – Caleb

+0

il s'avère que j'utilisais déjà phonegap.0.9.5.js plutôt que la version 'min'. Je suis toujours en train de regarder... – Caleb

1

Essayez de réduire la résolution de l'image de la caméra enregistrée en exécutant la App appareil photo et en sélectionnant le bouton Paramètres.

Le bouton de la caméra de l'application exemple PhoneGap plantait généralement pour moi jusqu'à ce que je réduise la résolution.

Je ne l'ai pas débogué, mais je devine il y a un débordement de mémoire quelque part avec la valeur par défaut Evo résolution de la caméra (5 M sur mon téléphone)

+0

merci pour votre aide (et désolé de prendre si longtemps pour répondre). J'ai essayé, mais pas de chance. Je vais continuer à chercher une réponse et essayer de mettre à jour cette question quand j'en trouverai une. – Caleb

1

Essayez 'uses-permission android: name = "android.permission.WRITE_EXTERNAL_STORAGE"' dans votre fichier manifeste et utilisez 'destinationType: Camera.DestinationType.FILE_URI' pour l'appel getPicture de phonegap. J'ai eu le même problème et l'ajout de la permission WRITE_EXTERNAL_STORAGE a fonctionné pour moi.