2010-12-17 20 views

Respuesta

4

Sí, puede configurar múltiples conexiones bluetooth (al menos conexiones RFCOMM). Sólo tiene que utilizar un hilo alternativa para usted de conexión, y que funcionaría bien (supongo) Consulte también: http://developer.android.com/resources/samples/BluetoothChat/index.html

Editar, comentó diseño no se puede leer: En la función connectThread, cambie:

tmp = device.createRfcommSocketToServiceRecord(MY_UUID); 

a :

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

Esta muestra no se puede conectar múltiples dispositivos, cuando intento conectar el tercer dispositivo, se imprimirá Excepción io: discoery servicio – user545755

+0

Hmm, y cuando intenta cambiar: tmp = device.createRfcommSocketToServiceRecord (MY_UUID); a: Método m = device.getClass(). GetMethod ("createRfcommSocket", new Class [] {int.class}); tmp = (BluetoothSocket) m.invoke (dispositivo, 1); (con los intentos/capturas correctos) ¿Todavía obtiene ese error? (Consulte la respuesta para obtener un código legible ..) – Barryvdh

+0

gracias por su ayuda, pero imprimirá esta excepción: – user545755

0

Al igual que Barry, se puede conectar a varios dispositivos. Solo crea un nuevo hilo para cada conexión. Querrá tener una lista de los 'ConnectThread's y' ConnectedThread's que está siguiendo. Por lo tanto, solo tiene que adaptarlo para varios subprocesos (e implementar la capacidad de seleccionar varios dispositivos, por supuesto). He hecho esto, y no es demasiado difícil.

Si desea conectarse a un dispositivo y luego conectarse a otro (uno a uno utilizando los menús originales), entonces es posible que tenga algo más que hacer.

0

Para realizar una conexión múltiple, debe crear una secuencia separada para cada uno de los dispositivos que desee conectar. Cada subproceso tiene métodos separados para leer y escribir datos en un dispositivo remoto.

ver este enlace

Android Bluetooth multiple connection issue?

5

Yo diría que el código no es el problema. La implementación correcta es administrar un hilo para cada conexión, sin embargo, he descubierto que la cantidad de dispositivos a los que se puede conectar simultáneamente es limitada en función de la implementación de Bluetooth por parte del teléfono. Bluetooth spec states 7 dispositivos pueden conectarse, sin embargo, he encontrado teléfonos Android que solo pueden manejar 1 conexión bluetooth mientras que otros pueden manejar 6. Realmente ayudaría a la comunidad de desarrollo de Bluetooth si alguien del equipo de desarrollo de Android pudiera profundizar más aquí.

+4

Acabo de perder un montón de tiempo para descubrir que el Nexus 7 solo puede conectar 1 dispositivo de BT, pero el Nexus 10 puede conectar múltiples dispositivos simultáneos. – BitBank

+1

En serio, también perdí el tiempo al hacer esto en Nexus 7 ... –

+0

@SalmanKhakwani, ¿cómo averiguaste cuántos dispositivos BT podrían conectarse a tu Nexus 7? – ymerdrengene

2

Sí para conectar múltiples dispositivos en socket de servidor bluetooth en puede probar este lib

Cuestiones relacionadas