Android Bluetooth ne Peut pas se connecter hors

Je développe une application qui utilise la technologie Bluetooth pour se connecter à un appareil et envoyer/recevoir des données. Je fais tous mes tests avec un Nexus One téléphone.

Je n'ai jamais été en mesure d'établir un SPP (serial port) de connexion de mon téléphone à n'importe quel appareil. Cependant, j'ai ont été en mesure de se connecter à partir d'un périphérique (mon portable) pour mon téléphone à l'aide d'un équivalent Mac de Mastic (La seule exception à cette règle est le "Transfert de Fichiers Bluetooth" application à partir de le Marché semble fonctionner, mais je ne pense pas que les utilisations RFCOM/SPP...).

Je continue à voir ce message dans mon LogCat journaux:

ERROR/BluetoothService.cpp(78): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)

ainsi que ces:

java.io.IOException: Operation Canceled
java.io.IOException: Software caused connection abort

J'ai essayé d'utiliser l'UUID de "00001101-0000-1000-8000-00805F9B34FB" et j'ai aussi essayé d'utiliser le:

Method m = device.getClass().getMethod("createRfcommSocket", new Class[] { int.class });
sock = (BluetoothSocket) m.invoke(device, Integer.valueOf(1));

méthode au lieu de device.createRfcommSocketToServiceRecord(UUID); ainsi--avec pas de chance.

Je suis en utilisant le BluetoothChat exemple et les variations de ce code pour faire tous mes tests...

Des Solutions ou des suggestions serait génial...ou même mieux/moins complexe exemple de certains tests de code que j'ai peut fonctionner sur le téléphone, ou un script python ou quelque chose je peux le faire tourner sur mon ordinateur pour vous aider à déboguer?

Merci! J'espère que ce n'est pas un bug avec le système d'exploitation Android, mais si elle l'est, j'espère trouver une solution de contournement.


EDIT: je tiens également à noter que la plupart des appareils apparaissent comme des "couplé, mais pas connecté" dans les paramètres Bluetooth.


EDIT 2: La solution semble être la simple désactivation de la fonction Bluetooth à l'écoute. Voir ma réponse post pour plus d'informations.

InformationsquelleAutor idolize | 2010-06-18