¿Nos es posible conectar varios dispositivos? ¿Quién puede compartir el código para mí? ¡Este problema me ha preocupado por mucho tiempo! ¡Gracias!Android Bluetooth API se conecta a varios dispositivos
Respuesta
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);
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.
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
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í.
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
En serio, también perdí el tiempo al hacer esto en Nexus 7 ... –
@SalmanKhakwani, ¿cómo averiguaste cuántos dispositivos BT podrían conectarse a tu Nexus 7? – ymerdrengene
Sí para conectar múltiples dispositivos en socket de servidor bluetooth en puede probar este lib
- 1. Android bluetooth: Lista de dispositivos vinculados
- 2. Adaptación de Android Bluetooth Chat para dispositivos múltiples
- 3. Cómo buscar periódicamente dispositivos bluetooth en Android
- 4. Conexión automática a dispositivos Bluetooth emparejados en Android
- 5. Android API para comunicación entre dispositivos
- 6. lista de dispositivos bluetooth conectados?
- 7. Aplicación de chat Bluetooth para Android que se conecta a Bluegiga WT-12
- 8. Android Bluetooth Respuesta ampliada a la pregunta
- 9. Android Bluetooth accept()/connect() con dispositivos ya emparejados
- 10. ¿Problemas conocidos en varios dispositivos Android?
- 11. Conexión automática Bluetooth con dispositivos vinculados
- 12. iPhone - detectar dispositivos bluetooth cercanos
- 13. ¿Cómo conectar de forma programada 2 dispositivos Android con bluetooth?
- 14. Arquitectura de varios dispositivos
- 15. Necesito abrir programáticamente Bluetooth y descubrir dispositivos en Android
- 16. Bluetooth API en Windows/.Net?
- 17. Bluetooth de Android no se puede emparejar
- 18. Android Bluetooth Ejemplo
- 19. no se ha podido establecer la conexión entre 2 dispositivos bluetooth android
- 20. Android Bluetooth IOException: conexión rechazada
- 21. Android: Lista de resultados de dispositivos conectados a la red
- 22. Android puerto COM Bluetooth
- 23. ¿A dónde se conecta RACK?
- 24. ¿Activar Bluetooth SPP en Android?
- 25. ¿Puedes establecer conexiones Bluetooth múltiples entre los mismos dos dispositivos en Android?
- 26. ¿Enviar archivo usando Android bluetooth?
- 27. Impresión de Android a móvil Impresora Bluetooth con PhoneGap
- 28. Usando Bluetooth en Android Emulator
- 29. Android: ¿conecta dos teléfonos de forma inalámbrica?
- 30. API de red punto a punto Bluetooth iOS
Esta muestra no se puede conectar múltiples dispositivos, cuando intento conectar el tercer dispositivo, se imprimirá Excepción io: discoery servicio – user545755
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
gracias por su ayuda, pero imprimirá esta excepción: – user545755