Estoy desarrollando una aplicación que debería conectar 2 dispositivos Android a través de Bluetooth automáticamente. Digamos que ya están emparejados. ¿Es posible lograr eso?¿Cómo conectar de forma programada 2 dispositivos Android con bluetooth?
Respuesta
Por supuesto que es posible. Voy a hacer un breve tutorial de la documentación:
Comience con el BluetoothAdapter - es su administrador de Bluetooth.
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
Si bluetoothAdapter
es nula, significa que este dispositivo Android no es compatible con Bluetooth (No tiene radio Bluetooth. Aunque creo que es raro encontrar estos dispositivos ...)
A continuación, asegúrese Bluetooth es en:
if (!bluetoothAdapter.isEnabled()) {
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, request_code_for_enabling_bt);
}
Si no está encendido, empezamos la actividad que pide al usuario para que pueda.
Digamos que el usuario habilitó (supongo que debe verificar si lo hizo, hágalo en su método onActivityResult
). Podemos consultar a los dispositivos vinculados:
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBoundedDevices();
Entonces bucle sobre ellas: for(BluetoothDevice device : pairedDevices)
y encontrar la que desea conectarse.
vez que haya encontrado un dispositivo, crear un socket para conectarlo:
BluetoothSocket socket = device.createRfcommSocketToServiceRecord(YOUR_UUID);
YOUR_UUID es un objeto UUID contiene una identificación especial de su aplicación. Lea sobre esto here.
Ahora, intento de conexión (el dispositivo que está intentando conectarse debe tener un socket creado con el mismo UUID en modo de escucha):
socket.connect();
connect() bloques el hilo hasta que la conexión se establece, o se produce un error, se lanzará una excepción en este caso. Entonces debe llamar al connect
en un hilo separado.
¡Y allí! Estás conectado a otro dispositivo. Ahora obtenga los flujos de entrada y salida:
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
y puede comenzar a enviar/recibir datos. Tenga en cuenta que ambas acciones (enviar y recibir) son bloqueando, por lo que debe llamarlas desde hilos separados.
Leer más sobre esto, y encontrar la manera de crear el servidor (Aquí hemos creado un cliente) en el Bluetooth documentation.
gracias, ya lo he implementado en mi aplicación hace un tiempo, lo califiqué todo, sin embargo su respuesta es muy buena y la estoy marcando como aceptada. – Miky
@Miky nos puede mostrar su implementación – jaimin
@jaimin Lo siento, la conexión Bluetooth automática nunca funcionó satisfactoria para mí.Tuve que elegir WiFi como alternativa. – Miky
- 1. Cómo buscar periódicamente dispositivos bluetooth en Android
- 2. Problemas al conectar con bluetooth Android
- 3. Conexión automática Bluetooth con dispositivos vinculados
- 4. Adaptación de Android Bluetooth Chat para dispositivos múltiples
- 5. Android Bluetooth accept()/connect() con dispositivos ya emparejados
- 6. Android bluetooth: Lista de dispositivos vinculados
- 7. Conectar/Par Auriculares Bluetooth y Android
- 8. lista de dispositivos bluetooth conectados?
- 9. Cómo conectar dispositivos Android con adb bajo ubuntu
- 10. conectar con un dispositivo Bluetooth no detectable
- 11. Android Bluetooth API se conecta a varios dispositivos
- 12. Conexión automática a dispositivos Bluetooth emparejados en Android
- 13. ¿Hay alguna forma de comunicarse con dispositivos USB en Android?
- 14. no se ha podido establecer la conexión entre 2 dispositivos bluetooth android
- 15. Cómo conectar un dispositivo bluetooth en Windows 8
- 16. ¿Problema de conexión múltiple de Android con Bluetooth?
- 17. ¿Hay alguna forma de conectar un dispositivo Android a una impresora externa a través de Bluetooth?
- 18. Necesito abrir programáticamente Bluetooth y descubrir dispositivos en Android
- 19. iPhone - detectar dispositivos bluetooth cercanos
- 20. ¿Cómo usar bluetooth para conectar dos iPhone?
- 21. ¿Compila Java de forma programada con JavaCompiler?
- 22. Usando Bluetooth en Android Emulator
- 23. Android Bluetooth Ejemplo
- 24. ¿Cómo encontrar los dispositivos en el rango usando bluetooth?
- 25. ADB sobre Bluetooth Android
- 26. Android Bluetooth ¿Dónde puedo obtener UUID?
- 27. ¿Enviar archivo usando Android bluetooth?
- 28. ¿Cómo recuperar la información del dispositivo Bluetooth con el selector de dispositivo Android con Bluetooth?
- 29. Android puerto COM Bluetooth
- 30. Conectar mediante programación a un auricular Bluetooth desde una aplicación de Android
Es posible, echar un vistazo a: http://developer.android.com /guide/topics/wireless/bluetooth.html –
En el lado negativo, tal aplicación, por ejemplo que está constantemente buscando una conexión, afectará adversamente la duración de la batería. No es Buena idea. –