2011-04-27 5 views
2

J'essaie d'implémenter le transfert de fichiers via bluetooth et j'utilise l'exemple Bluetooth-chat qui vient avec le sdk android. Lorsque j'essaie de connecter deux téléphones Android, ils semblent toujours dire que les téléphones sont couplés mais pas connectés. C'est fastidieux car j'ai essayé de me connecter avec 3 paires de téléphones différentes et tous disent la même chose.Transfert de fichiers Bluetooth Android

Est-il nécessaire que les appareils soient enracinés ou quelque chose? Comment puis-je connecter deux téléphones Android via Bluetooth.

+0

Bonne chance. Bluetooth est très difficile sur Android. J'ai mis en place une connexion bluetooth avec un KDC200 (scanner de code à barres bluetooth) sur SPP l'année dernière. Il n'aimait pas travailler tout le temps et il était assez difficile de savoir si l'appareil était encore connecté. Une partie du problème était avec l'appareil Android qui dissocie le scanner. L'application pense alors que le scanner est toujours connecté et attend la saisie. Quel mal de tête! – adorablepuppy

Répondre

1

(Ce n'est pas strictement une réponse, mais je suis encore incapable de poster des commentaires.)

J'ai personnellement eu un bon succès avec le code exemple chat Bluetooth, et je l'ai utilisé pour créer un application qui s'interface avec un dongle Bluetooth/RS232 pour obtenir beaucoup de données de mesure à partir d'un périphérique matériel distant. J'avoue cependant que j'ai seulement utilisé le code Bluetooth de l'hôte pour établir une connexion avec la clé Bluetooth SPP; Je n'ai pas essayé de me connecter au code esclave sur un autre téléphone. Pour référence, les deux appareils dont j'ai utilisé mon application avec succès sont mon HTC Desire (2.2) et mon Archos 101 (2.2). Ils ne sont pas enracinés. Une chose que je pense vaut la peine de mentionner est que l'exemple Bluetooth Chat semble avoir un bug dans le code où il accepte un tableau d'octets reçus hors du socket et les présente dans le ListActivity. Si beaucoup de caractères sont envoyés à partir de l'appareil distant à un rythme beaucoup plus rapide que la vitesse de frappe, ce qui est affiché dans le ListActivity sur le téléphone indique que le caractère occasionnel est corrompu. C'est parce que (je pense) le ArrayAdapter continue de consommer des octets de ce tableau pour les imprimer sur l'écran quand le thread connecté commence à remplir ce même tableau avec des octets encore plus récents. J'ai donc dû corriger cela avant de pouvoir utiliser le code d'exemple Bluetooth Chat pour recevoir de manière fiable des volumes relativement importants de données provenant du périphérique externe.

Sur le HTC Desire ou l'Archos 101, je ne semble pas avoir de problèmes de connexion. Je peux heureusement avoir la connexion Bluetooth exister même sur des conditions de signal pauvres (par exemple l'appareil distant est en haut dans la maison pendant que je suis en bas avec l'appareil Android) tandis que mon application interroge heureusement les données de mesure à un débit d'environ 250 bytes .

+0

Merci @adorablepuppy et @ Trev16v. Bluetooth dans Android est bizarre, j'ai maintenant diplômé de non connecté à on-off connecté. Le débogage de l'application ne semble pas aider non plus (il n'y a rien). – Sethu

1

Générez l'UUID de votre téléphone à l'aide de la commande adb shell, sdptool browse

Questions connexes