2010-09-02 7 views
3

Je vais essayer de présenter brièvement ce sur quoi je travaille, et puis de présenter ma question ... toute aide sera très appréciée!Android Bluetooth PBAP

J'ai essayé de connecter un appareil Android à d'autres téléphones afin de d'importer les informations de mon répertoire via bluetooth, en utilisant le profil d'accès du répertoire. Pour ce faire, j'essaie de placer mon appareil comme PCE, tandis que l'autre téléphone agira comme le PSE.

Je sais que le rôle PSE est déjà implémenté sur Android, donc je suis en train de chercher dans son code et d'essayer de le désosser en quelque sorte pour implémenter l'autre côté.

Alors .. mon problème est le suivant: lorsque le socket serveur est créé, il ne spécifier un UUID, il commence simplement à l'écoute sur un port 19, comme ceci:

mServerSocket = mAdapter.listenUsingRfcommOn(PORT_NUM); 

était-ce pas censé enregistrer le service PBAP quelque part? Comment ne d'autres appareils découvrir le service, et plus important, qui UUID dois-je utiliser lorsque vous essayez de vous connecter dans mon appareil PCE avec:

mSocket = mDevice.createRfcommSocketToServiceRecord(UUID_PBAP); 

Merci, Pedro.

+0

Avez-vous pu créer le client PBAP? Si oui pouvez-vous s'il vous plaît me guider concernant ce que l'on doit faire pour obtenir les détails du répertoire après l'établissement de la connexion PBAP? C'est ce que j'ai pu faire jusqu'à présent http://stackoverflow.com/questions/23948610/how-to-query-remote-mobile-phone-via-bluetooth-as-to-whether-it-supports-pbap-or – SoulRayder

Répondre

0

Veuillez utiliser cette méthode: listenUsingRfcommWithServiceRecord de BluetoothAdapter avec le bon UUID.

1

vous devez utiliser uuid pour créer un socket client, sdp trouvera le canal correspondant pour vous. Vous n'avez pas besoin de vous soucier du numéro de canal et le canal que vous attribuez n'est pas toujours juste dans divers.

+2

La question est de savoir comment le côté serveur (PBAP PSE) est enregistré et comment le client peut découvrir en utilisant SDP sans avoir l'air d'un enregistrement côté serveur correct. Cette réponse est juste dit d'utiliser SDP mais n'explique pas le pourquoi et comment cela fonctionnerait. La question peut également être plus claire pour expliquer les résultats de la requête SDP - cela a-t-il fonctionné? ou pas? Si cela a fonctionné, alors le canal UUID-RFCOMM est probablement enregistré quelque part. – gammay