2010-02-01 7 views
32

Je veux créer une application basée sur le fonctionnement Bluetooth à android.I suis en utilisant le code suivantComment utiliser Bluetooth dans l'émulateur Android?

BluetoothAdapter adapter=BluetoothAdapter.getDefaultAdapter(); 

l'adaptateur retourne valeur nulle, ce qui signifie que l'émulateur Android est de ne pas avoir la capacité Bluetooth. J'utilise android 2.1 la dernière version de android.Anybody sait comment utiliser le bluetooth de l'émulateur android, s'il vous plaît aidez-moi.

+0

Cette réponse semble fonctionner .... http://stackoverflow.com/ a/22604411/1285325 – 130nk3r5

Répondre

45

Vous ne pouvez pas. L'émulateur ne prend pas en charge Bluetooth, comme mentionné dans les documents du SDK et à plusieurs autres endroits.

Et vous avez déjà découvert vous-même: « l'adaptateur retourne valeur nulle, ce qui signifie que l'émulateur Android est de ne pas avoir la capacité Bluetooth »

1

Oui, je suis d'accord, en ce moment l'émulateur ne prend pas en charge Bluetooth.

Pour compiler Android avec le support Bluetooth activé, ajoutez la ligne suivante à BoardConfig.mk.

BOARD_HAVE_BLUETOOTH := true 
16

Vous pouvez installer l'image de http://www.android-x86.org/ dans une machine virtuelle (par exemple VMWare), trouver son adresse IP, connectez manuellement à l'aide

adb connect <IP of VM> 

Et puis lancez votre projet Eclipse en définissant un " "Déploiement manuel" dans la configuration de débogage/exécution. Bluetooth fonctionne dans cette machine virtuelle au moins sur mon Macbook et il fonctionne avec quelques autres chipsets bluetooth.

+0

Si je devais connecter un dongle bluetooth à mon système, est-il possible d'utiliser bluetooth via ce système? –

+0

Si vous avez un dongle USB et assurez-vous qu'il est transmis et connecté à la machine virtuelle, je suppose que cela fonctionne, oui. – drott

1

Q. Bluetooth doesn't work on my device. How should I debug?

A. Première étape - lire les journaux (adb logcat)! Recherchez en particulier les messages de niveau ERREUR ou AVERTISSEMENT concernant Bluetooth.

Andoird utilise Bluez, qui est livré avec des outils de débogage très utiles. Voici quelques exemples, dans l'ordre approximatif que j'utilise pour déboguer BT.

hciconfig -a # print BT chipset address and features. Useful to 
# check if you can communicate with your BT chipset. 

hcidump -XVt # print live HCI UART traffic. 
hcitool scan # scan for local devices. Useful to check if RX/TX works. 
l2ping ADDRESS # ping another BT device. Useful to check if RX/TX works. 
sdptool records ADDRESS # request the SDP records of another BT device. 

Vous pouvez installer le plugin Bluetooth de http://www.android-videos.blogspot.com/ Une fois l'installation terminée, vous pouvez utiliser Bluetooth avec l'émulateur.

+7

Le lien vers les vidéos n'a pas de lien pour le plugin bluetooth. – JPM

+3

-1 pour un mauvais lien (pas de plugin trouvé sur le site). –

2

Il n'est pas possible d'exécuter aap bluetooth sur l'émulateur car il n'y a pas de support pour bluetooth sur l'émulateur. Regardez ce http://developer.android.com/guide/developing/devices/emulator.html Emulator Limitations

Dans cette version, les limites de l'émulateur comprennent:

  • Pas de support pour placer ou recevoir des appels téléphoniques réels. Vous pouvez simuler des appels téléphoniques (placés et reçus) via la console de l'émulateur , cependant.
  • Aucun support pour les connexions USB
  • Aucune prise en charge de la capture de caméra/vidéo (entrée).
  • Pas de support pour le casque attaché dispositif
  • Pas de support pour la détermination de l'état connecté
  • Pas de support pour déterminer le niveau de charge de la batterie et l'état de charge AC
  • Pas de support pour déterminer insert pour carte SD/éjecter
  • Pas de support pour Bluetooth
4

Je suis actuellement en train de planifier un outil capable d'émuler Bluetooth sur TCP/IP sous Linux (sera publié librement sous licence GPL).

Cela devrait être la solution lorsque vous ne disposez pas d'un périphérique Bluetooth réel (par exemple, vous voulez simuler une connexion entre deux machines Android-x86 ou Linux émulées). Peut-être que lors de la compilation pour Linux-ARM au lieu de Linux-x86, il fonctionnera aussi dans l'émulateur.

0

L'émulateur ne prend pas en charge bluetooth comme mentionné dans les documents de la SDK. Vous devez vérifier cela dans le vrai périphérique ..

Et vous avez erreur Bluetooth liant est nul. cela signifie que l'émulateur n'a pas de capacité Bluetooth.

1

Vous pouvez mais vous devrez exécuter votre application sur un Android dans une image VirtualBox ou VMWare. Pour plus d'infos, voir ici (tutoriel est pour LE Bluetooth, mais il fonctionne même avec d'autres versions Bluetooth): Bluetooth Low Energy on Android Emulator