Estoy desarrollando una aplicación que usa Bluetooth para conectarse a un dispositivo y enviar/recibir datos. Estoy haciendo todas mis pruebas con un teléfono Nexus One.Android Bluetooth - No se puede conectar
Nunca he podido establecer una conexión SPP (puerto serie) desde mi teléfono a ningún dispositivo. Sin embargo, I tengo conectado desde un dispositivo (mi computadora portátil) a mi teléfono usando un Mac equivalente a PuTTY (La única excepción a esto es la aplicación "Bluetooth File Transfer" del Marketplace parece funcionar, pero yo no No creo que use RFCOM/SPP ...).
sigo viendo este mensaje en los registros de mi LogCat:
ERROR/BluetoothService.cpp(78): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)
, así como los siguientes:
java.io.IOException: Operation Canceled
java.io.IOException: Software caused connection abort
He intentado usar el UUID de "00001101-0000-1000 -8000-00805F9B34FB "y también he intentado utilizar el:
Method m = device.getClass().getMethod("createRfcommSocket", new Class[] { int.class });
sock = (BluetoothSocket) m.invoke(device, Integer.valueOf(1));
método en lugar de device.createRfcommSocketToServiceRecord(UUID);
también - sin suerte.
estoy usando el BluetoothChat example y variaciones de ese código para hacer todas mis pruebas ...
soluciones o sugerencias sería grande ... o incluso un mejor ejemplo/menos complejo de algún código de prueba que pueda ejecutar en el teléfono, o un script de python o algo que puedo ejecutar en mi computadora para ayudar a depurar?
Gracias! Espero que esto no sea un error con el sistema operativo Android, pero si es así, espero encontrar una solución.
EDITAR: También debo tener en cuenta que la mayoría de los dispositivos aparecen como "emparejados, pero no conectados" en la configuración de Bluetooth.
EDIT 2: La solución parece ser simplemente deshabilitar cualquier escucha Bluetooth. Ver mi mensaje de respuesta para más información.
Otros temas destacables relacionados con este tema: 1) http://stackoverflow.com/questions/2268365/android-bluetooth-cross-platform-interoperability 2) http://stackoverflow.com/questions/ 2661932 3) http://groups.google.com/group/android-developers/browse_thread/thread/348c269f2ef88327/ 4) http://stackoverflow.com/questions/2660968/how-to-prevent-android -bluetooth-rfcomm-connection-from-dying-immediately-after 5) http://stackoverflow.com/questions/1953888/bluetooth-rfcomm-sdp-connection-to-a-rs232-adapter-in-android – idolize
usaste la reflexión con intención o ¿por coincidencia? La razón por la que pregunto es, me pregunto si la usaste como una forma de evitar un error en particular en la implementación de Bluetooth. Por lo general, creo que uno podría haber usado 'BluetoothSocket bs = createRfCommSocket (...' ¡Gracias! –
@Brad - Fue intencional, porque he visto a varias personas en línea tener problemas con createRfcommSocketToServiceRecord que solo se resolvieron mediante el uso de esta solución inusual Ver: http://stackoverflow.com/questions/2660968/how-to-prevent-android-bluetooth-rfcomm-connection-from-dying-immediately- after --and-- http://stackoverflow.com/questions/2661932/problem-with-bluetooth-on-android-2-1-samsung-spica-i5700-where-emparejamiento-works-b – idolize