2013-03-04 5 views
4

Besoin de rechercher ou de rechercher des périphériques Bluetooth de certains périphériques spécifiques à un fournisseur.Découverte des périphériques Bluetooth spécifiques au fournisseur uniquement

signifie que tous les dispositifs

« spécifiques au fournisseur » auront bits de départ similaires dans leur adresse « MAC »

Par exemple, je veux rechercher uniquement les périphériques dont l'adresse MAC commence par 12:34:56:

Il doit rechercher uniquement pour des séries spécifiques d'adresses MAC et répertoriez-les.

Répondre

2

Mon explication sera basée sur l'exemple BluetoothChat du SDK Android, j'espère que c'est ok, sinon je devrais écrire beaucoup plus. Si vous n'avez pas vu l'exemple de BluetoothChat, allez jeter un oeil, c'est vraiment sympa!

Si vous souhaitez utiliser un périphérique dont vous ne connaissez pas l'adresse complète, vous devrez faire une recherche complète avec BluetoothAdapter.startDiscovery() et rechercher les adresses reçues pour celles que vous souhaitez.

Si vous connaissez l'adresse complète de l'appareil que vous souhaitez vous connecter vous pouvez connecter directement à cet appareil avec BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address)

3

Effectuer une découverte complète, puis filtrer à l'aide BluetoothDevice.getAddress()

// Define Vendor ID Prefix 
public static final String VENDOR_ID = "12:34:56:" 

// First, do a full discovery... 
BluetoothAdapter.getDefaultAdapter().startDiscovery() 

//... 

// Then, for each device returned from discovery... 

if (device.getAddress().startsWith(VENDOR_ID)) { 
    // Do Something 
} 
+0

cela peut être un façon merci .. ** Peut-il y avoir un moyen d'étendre le BroadcastReceiver pour rechercher uniquement des périphériques spécifiques ?? ** – Kiran

+1

@ Jay3545 Pour autant que je sache, il n'y a pas de moyen documenté publiquement de le faire. Quel est le problème avec le filtrage d'une liste de tous les périphériques? Si la vitesse est le problème, vous pouvez exécuter périodiquement la découverte en arrière-plan et gérer une liste de périphériques filtrés par ID fournisseur. Ensuite, lorsque votre utilisateur "recherche" des périphériques, affichez simplement la dernière version de cette liste. – firyice

Questions connexes